By design: каждый каталог - отдельный пакет (не обязательно, но настоятельно рекомендуется).
Для компиляции - переходим в каталог с функой main пакета main. Команда, что вы привели верная.
Все библиотеки также попадут в бинарник ?
Верно, на выходе получаете 1 бинарь.
Под какой ос будет работать это чудо?
Под текущую.
см:
https://github.com/davecheney/golang-crosscompileЕсли я перенесу бинарник на другой убунту сервер а в nginx сделаю проксирование вида ip_server:port то оно же будет работать ?
Слишком расплывчато. ОС должна быть того же семейства, битоность должна быть та же, зависимые компоненты должны быть такие же (например пользуете мемкеш жестко на 11211 порту, на второй системе должно быть то же самое).