Implement string hash code in C.

[SPARKR-135](https://sparkr.atlassian.net/browse/SPARKR-135). Improve wordcount performance by implement the string hash code in C. The performance improvement is about 10X.
On a 3-worker-node Spark cluster, each node has 16 threads (2.93Ghz Xeon), 48G memory:

3.2 G data  from 96 minutes to 8 minutes
320 M data from 10 minutes to 1 minute

@shivaram I haven't test this patch on Windows, could you help to test it? Thanks.
For "put in a src/SparkR-init.c to handle relocatable DLLs etc. ", this is for export a C function in package to be called from another package, which I think now is un-necessary.

For DLL unloading, there a is a guy asking such question: http://stackoverflow.com/questions/26691878/must-r-packages-unload-dynamic-libraries-when-they-unload 
however, no answer is yet. According to Write R Exentensions(http://cran.r-project.org/doc/manuals/r-release/R-exts.html#dyn_002eload-and-dyn_002eunload): Unloading is not normally necessary.