Precompute @hash in native extensions.

Otherwise if you call .hash later, it incurs a call to .pack,
which is slow. The Ruby versions have always done this, just
the native optimizations were missing it.
Be sure to call packed_string.hash, not self.hash.

self.hash returns the right value, but unfortunately does it by
calling self.pack.
Made iteration functions of OrderedHashInt to return self as it is expected for a regular hash
Merge pull request #185 from fester/ordered-hash-each-fix

OrderedHashInt/OrderedHash returning self for iteration functions
Merge pull request #186 from nearbuy/precompute_hash

Precompute hash in native extensions
disabling native extensions for Windoze
Merge pull request #189 from jacek99/master

#188: disabling native extensions for Windoze
Updated version and changelog for new release
Remove hard-coded release date from gemspec
Merge pull request #190 from sferik/release_date

Remove hard-coded release date from gemspec
Misc gem cleanup

* Maintain the gemspec by hand instead of using echoe
* Add a license
* Allow new versions of thrift_client
Add default rake target to fix travis builds
Run tests on 1.9.2 and 2.0.0
Fixed composite column encoding errors on ruby 2.0.0

String literals are utf-8 encoded
Drop thrift_client dependency back to 0.8

The patch applied in THRIFT-1023 trys to convert any string to UTF8
and then back into binary.  This doesn't work for non-UTF8 data like
UUIDs.
Handle ruby 1.8, which doesn't have String#force_encoding
Add 1.2 libs to the gem
Composite methods to explicity create from parts array

Allows new composites to be created without the ambiguity of base initialize.

Composites can be created from an array of parts, followed by the options hash,
similar to the basic initializer, but the new method will not attempt to detect
packed parts as an argument.