Extend validation for ReplicationController

Provide type safe checks for empty sets of selectors.
Solve issue with realpath on Mac OS X.

* realpath doesn't work on Mac OS systems. I found the following
  workaround that should work in any distro. For more references see the
  following: http://serverfault.com/questions/40144/how-can-i-retrieve-the-absolute-filename-in-a-shell-script-on-mac-os-x
Add master.Config type and cleanup master configuration

Setting up a new master.Master instance requires passing
around too many arguments.

Add a master.Config type and group related master configs.
Refactor all commands to instantiate new masters using a
master.Config struct.
kubecfg: improve tests around authentication

This change adds additional test coverage for the kubecfg
command. There is now a test for the case when the auth info
file does not exist. LoadAuthInfo tests have been refactored
to use table testing.
health: Improve test coverage
Allow API_PORT to be changed via hack/local-up
Remove extra test flags from all commands

Currently all commands are being build with extra flags. The extra
flags appear because of a direct import of the testing package from
the fake_etcd_client.go source file.

Remove the direct import of the testing package. Add a tools.T
interface to support existing behavior. Also clean up two TODO items
by remove using of the expectError and expectNoError functions.

Fixes #579
Add go fuzzer in preparation for testing. Also gofmt a few files that needed it.
Update Service and ReplControllers to validate

Validations are performed on update and on create.
Use 'go install' to build all commands at the same time.

'go build' compiles the packages but discards the results if multiple packages specified.
Add TODOs, clean up, clarify comments, and add one more test.
Fixing Typos
Merge pull request #660 from danmcp/fix_typos

Fixing Typos

Thanks for the fix.
Temporarily point to older bootstrap script

The most recent saltstack bootstrap file expects a salt-api service to
exist. The most recent Fedora salt-master rpm doesn't include this
service yet. Pointing to the previous version of the bootstrap script.
Merge pull request #647 from kelseyhightower/fix_extra_test_flags

Remove extra test flags from all commands
Merge pull request #636 from kelseyhightower/load_auth_info_tests

kubecfg: improve tests around authentication
Merge pull request #630 from lavalamp/fuzz

Add go fuzzer in preparation for testing.
Merge pull request #651 from smarterclayton/allow_api_port_to_change

Allow API_{PORT,HOST} to be changed via hack/local-up
Merge pull request #643 from zhgwenming/build

Use 'go install' instead of 'go build' to generate all commands at the same time.
Remove cmd/integration from hack/build-go.sh

Covered by hack/integration-test.sh in travis