Fix generated enum field code without defaults.

The original generated Go code for Thrift enum fields possessed an
anomaly whereby structs that have enum fields without default values
assumed such a field is unset if its value is zero.  Now, according to
http://wiki.apache.org/thrift/Tutorial, an enum with unvalued elements
starts its first element at zero, so the original means of field
comprehension has problems, specifically because Go default
initialization value for numbers is zero.

To remedy this, the code generator now assumes internally that enums
are int64 instead of the original int (i.e., int32); however, all
consumers of the enum still see the enum as int.  With that, structs
with enum fields that lack assigned value now default to
math.MinInt32 - 1 and use this to validate whether the field was
explicitly set.
Bulk apply "gofmt" to non-generated support code.

The base library code for thrift4go is stylistically incompliant with
upstream Go.  Before making more fixes to the library, I want to bring
conformance first.
Clean-up import cruft and test package namespaces.

This commit removes a number of crufty imports from some of the support
library.  Secondarily, Go Version 1 seems to expect that tests for a
given package coexist in the same directory as the package under test
along with having the same package name.

Also, this change builds on https://github.com/pomack/thrift4go/pull/20,
which explains the initial size of it.  Once the formatting rules are
reconciled, this will be much smaller.
Merge pull request #20 from matttproud/fix_gofmt_support_library

Bulk apply "gofmt" to non-generated support code.
Merge pull request #21 from matttproud/fix_crufty_imports_and_tests

Fix crufty imports and tests
Provide a Travis CI configuration for thrift4go.

This commit adds support for Travis CI (continuous integration) in
thrift4go such that commits against the master branch will trigger
an automatic build and test run against the "release" branch du jour
of Go.  All that needs to happen after this gets incorporated is that
thrift4go register itself with http://travis-ci.org/.
Update conf. for modern Travis CI environment.

Travis CI's test environment changed grossly since my last commit to my
existing Go project:
- Debian distribution update from ${I_FORGOT_WHAT} to 11.10;
- Inclusion of some Go build tools made by who-knows-whom that exhibit a
  number of anomalies when compiling even the standard Go runtime
  libraries; and
- Changes in the the default test commands that are run depending on the
  value of the `language:` YAML key.

Key steps to remediation:
- Purging ANY go tools found on the system image; and
- Keeping the runtime language set to `erlang`, which despite lint
  warnings, continues to work and compile---unlike setting it to
  `go` or `ruby`, which triggers a rake-dependent workflow that is
  obviously incompatible with Go.

External evidence for anomalies:
- `language:go` and `language:ruby` to `language:erlang` fixes
   build and test workflow anomalies
   (before: https://github.com/matttproud/golang_instrumentation/commit/ac812287bcb84a6e72b1dd04f6da49f0b35fe3b6)
   and
   (after: https://github.com/matttproud/golang_instrumentation/commit/628071f2038d0a018e8d6642498b69ced0f19565).
Merge pull request #22 from matttproud/fix_add_travis_continuous_integration

Provide a Travis CI configuration for thrift4go.
Fix operating directory for Travis CI operations.

The Travis CI script could possibly be simplified further, but this
should get it working.  A complication was introduced when thrift4go
does not contain its source immediately under the git root directory as
most other Go libraries do, thusly confusing Go.
Merge pull request #23 from matttproud/fix_add_travis_continuous_integration

Fix operating directory for Travis CI operations.
Rebase build infrastructure against Thrift stable.

- configure.ac and lib/Makefile.am have been synchronized against
  http://svn.apache.org/repos/asf/thrift/tags/thrift-0.8.0 at revision
  1362341.

- configure.ac and lib/Makefile.am have been updated to treat the Go
  directories as something to be managed with autotools (i.e.,
  automake).

- lib/go/Makefile has been migrated to lib/go/Makefile.am, which now
  runs several obligatory tests as well as supports the »DESTDIR«
  packaging construct, which will make it easier for standard Linux
  package maintainers to bundle Thrift's Go support.

- configure.ac has been simplified to remove some extraneous Go
  environment constructs (e.g., »GOOS« and »GOARCH«).
Cleanups have been applied to project's README.

- The line length in README has been adjusted to 80.

- Basic markdown syntax has been applied.

- Roadmap has been elucidated.

- Continuous build status is listed.
Include changes forgotten in previous commit.

- Emacs kept the buffer for ```README.md``` open as ```README```, which
  caused several subsequent cleanups to be omitted from the commit.  My
  apologies.
Merge branch 'fix_add_test_scaffolding' into fix_generated_enums
Remove references in generator text to PHP.

A couple of comments in the generator referred to PHP.  They have been
purged or updated as necessary.
Additional cleanups to README's markdown.
Fix a stray »/« on the automake input.
Merge pull request #26 from matttproud/fix_rebase_build_system_against_thrift_stable

Fix rebase build system against thrift stable
Fix backticks due to GFM markdown regression.

Github Flavored Markdown's rendering of triple backticks fails mid-way
through the project's README.md, whereas other renders succeed.  I have
therefore converted the triple ones to double---primarily as to
create a convention for standard use such that folks don't need to
think deliberately as to whether escaping for inner ones are needed or
not.
Merge pull request #27 from matttproud/fix_markdown

Fix backticks due to GFM markdown regression.