THRIFT-2012 Modernize Go

List of changes:
Direct users to use 'go get'
Remove outdated, non-idiomatic Makefiles for Go.
Change 'make check' to run Go tests.
Gofmt and os.Error -> error
Lots of Go1 fixes
Formatted go compiler code
Integrate changes from github.com/pomack/thrift4go (integrated from 4e1ad38)
Fix imports: add package prefixes, configurable thrift import.
Avoid generating multiple (invalid) import statements.
Update, simplify and format go tutorial code
Remove unneeded nonblocking work
Remove t prefix from filenames
TIOStreamTransport -> StreamTransport simplification
TSocket comment cleanup
TTransport simplification and cleanup.
Perform dummy math assignment in generated -remote files as well.
Add strconv to blind import workaround
Fix number of arguments for NewSocketAddr
Simplify MemoryBuffer Transport implementation
Simplify TTransport
Use io.ReadFull instead of custom implementation
Simplify TSocket and TServerSocket, update example code
Reduce exported surface area
Comment and formatting cleanup.
Simplify exceptions
Clean up TApplicationException code
Move to more idiomatic error interface.
Removed unused TMessage
Generate with lowername names
Clean up generated remote message printing
Clean up usage information
Emulate python printing of function listing
Include building tutorial code as part of make check
Remove outdated tests
StreamProtocol cleanup
Dramatically simplify by moving to native go types for lists/sets/maps
Reduce TTypes to actual valid Thrift list
Change to int8 instead of byte (byte is unsigned)
Render inherited methods for -remote
Print autogen comment later as to not make it part of package documentation
Generate a constants.go
Don't mangle constants and enum names.
Update tutorial code to reflect change.
Correct oproto nil check
Fix go get url
Don't mangle target package directory.
Simplify go example code
Code cleanup and shortening.
Unexport StreamTransport field
Simplify types.go
Simplify by removing removing TStruct
Simply generated service api
Remove unused TBase
Abort on invalid go map key types.
Properly render methods if field indices are negative
Render literals for structs
Emit go types
Wrap structs and bytes
Declare vars in deserializers if needed.
Simplify error handling
Fix len calls in isset helpers
Fix list output for TJSONProtocol