Spark-2447 : Spark on HBase

Add common solution for sending upsert actions to HBase (put, deletes,
and increment)

This is the first pull request: mainly to test the review process, but there are still a number of things that I plan to add this week.

1. Clean up the pom file
2. Add unit tests for the HConnectionStaticCache

If I have time I will also add the following:
1. Support for Java
2. Additional unit tests for Java
3. Additional unit tests for Spark Streaming
Is there a need for this constructor? Better to do the following.

```
class HBaseContext(@transient sc: Sparkcontext, @transient config: Configuration) extends Serializable {
    val broadcastConf = sc.broadcast(new SerializableWritable(config))
}
```