CDAP-693 Adding the ability to run hive queries on streams.

This includes various changes to make this possible.

Streams are now created when an application is deployed
instead of lazily created when the first event is written to it.
If explore is enabled when a stream is created, an external
hive table is created using a custom HiveStorageHandler for
streams. This required some refactoring around the stream input
format, as our mapreduce code uses the newer mapreduce apis, but
the hive code uses the old mapred apis.
I agree we should have it, will add it. I also wonder if it is a good idea to expose the enable/disable endpoints. I believe it makes sense, as you may want to have some datasets explorable and some not. I'm also not sure why we don't have a way to delete a stream, seems like we should allow it if we allow deleting datasets. Will create jiras to follow up on these questions.