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.
CDAP-693 fix bugs in unit tests and from refactoring of stream
input format.
CDAP-693 add corresponding methods to disable explore on a stream
Merge remote-tracking branch 'origin/develop' into feature/CDAP-693-query-streams
CDAP-693 Make sure hive tables for streams are dropped when an
unrecoverable reset is called.
CDAP-693 changing back to not drop hive tables for streams on
clear and unrecoverable reset since the stream is not actually
deleted, but is just truncated. Instead, change test to just
query table instead of checking for the table first, as it will
fail anyway if the table does not exist.
fix for queries that join streams.
CDAP-693 bug fix to support joins over streams.
CDAP-693 Remove usage of public static booleans in explore tests
that cause side effects to other tests.
Revert "CDAP-693 Remove usage of public static booleans in explore tests"

This reverts commit 474dc859d38a2282bdb62461e98eb6ad06d43ec2.
Merge remote-tracking branch 'origin/develop' into feature/CDAP-693-query-streams

Conflicts:
	cdap-data-fabric/src/main/java/co/cask/cdap/data/stream/StreamInputFormat.java
CDAP-693 remove configurer class in favor of a split finder class,
since the fix for stream joins requires only a stream name in the
job conf.

Also a small unit test fix to prevent order dependency in tests.
missing cast
Merge remote-tracking branch 'origin/develop' into feature/CDAP-693-query-streams

Conflicts:
	cdap-unit-test/src/test/java/co/cask/cdap/test/app/TestFrameworkTest.java
CDAP-693 fix comments and make sure inserts into streams are not
allowed.
Merge remote-tracking branch 'origin/develop' into feature/CDAP-693-query-streams

Conflicts:
	cdap-explore/src/main/java/co/cask/cdap/explore/executor/ExploreExecutorHttpHandler.java
fix merge error.
Merge remote-tracking branch 'origin/develop' into feature/CDAP-693-query-streams

Conflicts:
	cdap-explore/src/test/java/co/cask/cdap/explore/service/BaseHiveExploreServiceTest.java
CDAP-693 rename test runs to prevent double runs and make sure
order doesn't matter when checking hive tables.
CDAP-693 Various small fixes to make sure it works on supported
Hadoop versions. Carry over the long overflow fix to the record
reader for hive, and change 'timestamp' column to 'ts' to avoid
reserved keyword problems on some versions of Hive. Also
classifying stream tables as tables that are backed by datasets
so that the UI will correctly mark those tables as CDAP tables.

Also adding classloader magic to get it to work on cdh4 as well
as more comments so we dont forget why certain things were done,
such as implementing the SerDe interface which is deprecated in
Hive13, but required for older versions of Hive.