improve a performance in Array#hash

* before
      user     system      total        real
  1.350000   0.010000   1.360000 (  1.356039)

* after
      user     system      total        real
  0.800000   0.000000   0.800000 (  0.806837)

Test Code
----
Benchmark.bm do |x|
  ary = ["a", "b", "c"] * 10000

  x.report do
    1000.times do
      ary.hash
    end
  end
end
use pre-increment for C++ iterator
change encoding of OpenSSL::HMAC.digest result to binary
Merge pull request #187 from eitoball/change_openssl_hmac_digest_encoding_to_binary

Change encoding of OpenSSL::HMAC.digest result to binary
use __clang__ instead of __GNUC__

because clang has __GNUC__ macro
add NSData#to_s
encode to binary before writing with ssl socket
follow changes in ruby/ruby@65ca601
Merge pull request #189 from eitoball/encode_to_binary_before_writing_with_ssl_socket

Encode to binary before writing with OpenSSL::SSL::SSLSocket
unsure encodings removed
Merge branch 'master' of https://github.com/MacRuby/MacRuby