Correctly cast to size_t rather than int for array->size/bytes

Casting to int causes mayhem for very large filters.

From: Steve Howard <steve@thumbtack.com>
Added an accuracy test.
Replaced djb hash with md5 hash after test shows that djb is not sufficient (at least as it was written).
Fixed error with non-string keys causing seg fault.
Added support for a malloc-based version of pybloomfilter's BloomFilter

Basically, for SEOmoz's purposes, we didn't need any of the features that mmap
would support: persistence, the ability to exceed physical memory without swap,
etc. The problem we were running into was that we instead needed to make /a lot/
of bloom filters and we were finding it irritating to have to up our open file
descriptor limit. After all, we just wanted to make a bunch of bloom filters that
would fit in memory.
Added support for the superfast hash.

While md5 does encompass everything that is needed in a hashing function for
bloom filters, it has a lot of unnecessary and computationally-intensive
features. Replacing it with another randomizing hash function, superfasthash
has improved the performance by a factor of 3-4.
Merge pull request #12 from showard/master

Correctly cast to size_t rather than int for array->size/bytes
Merge pull request #15 from seomoz/superfast

Superfast
Version bump to 0.3.1.
Remove pybloomfilter.so file.
Added sphinx configuration.
Added pushtogh script
Added note about being able to use malloc backend.
Added github docs to readme.
Created MANIFEST.in for sdist.
Updated statistics on speed test
Fixed null pointer dereference when hash_long was called.
Fixed errors in calling memset to properly use the right arguments.
Version bump to 0.3.2
Added gitignore stuff for setuptools.