IntOrString for use in JSON/YAML

Specifying an API type as IntOrString will allow JSON and YAML to accept
either ints or strings with the same name.  For example, port names or
numbers.
Merge pull request #395 from thockin/cleanups

IntOrString for use in JSON/YAML
Silence some noise.
Silence benign errors in bash scripts.
Start modularizing shell scripts

Pull release tarball building out of release.sh into new
build-release.sh, so you can build the tarball without uploading
to cloud storage.
Fix build-release comments.
rename client.ClientInterface to client.Interface
Merge pull request #403 from nf/cleanup

rename client.ClientInterface to client.Interface
fix go lint errors in util
Merge pull request #404 from thockin/cleanups

Fix go lint errors in util
Merge pull request #399 from MSOpenTech/silence-error

Silence benign errors in bash scripts.
Merge pull request #400 from MSOpenTech/shell-scripts

Start modularizing shell scripts
fix go lint errors in util
Fixed SCRIPT_DIR computation when CDPATH is set.
Merge pull request #409 from nyaxt/fixlint2

fix go lint errors in util
Merge pull request #412 from ggtools/master

Fixed SCRIPT_DIR computation when CDPATH is set.
Add initial validation of Service objects
Fix tests.
Fix integration tests.
Updated to use the makeInvalidError helper function.