Move browser, config, player, and radio logic into internal/{config,radio,player,ui,version}.
Add cached API host resolution, context-aware HTTP client, and nil/length guards to eliminate
RandomIP, nslookup, reverseLookup, and GetStations panics. Replace subExecute with clean
legacyPlayer using Run-only execution. Fix inverted -short test guards, unformatted config
error messages, and "Erorr" typo. Remove obsolete vendor/GOPATH logic from build scripts.
Update callers in stations.go and radiomenu.go to new paths; retain shims for transition.
Added comprehensive unit and live integration tests in new files:
- commander_test.go: Covers isInstalled and subExecute functions
- filer_test.go: Covers createIniFile with various scenarios
- radiomenu_test.go: Covers Short, Quit, and RadioMenu
- stations_test.go: Covers showVersion and precheck
These tests ensure reliability across happy paths, edge cases, and live environments.