Hadoop integration #1

Initial patch to allow one spark binary to target multiple hadoop versions. Has a few bugs that I'll submit fixes for shortly:
* `sbt clean` doesn't work
* unncessarily recompiles some source files when `$SPARK_HADOOP_VERSION` is changed
* doesn't work with hadoop-0.23.x