Organize pom.xml deps and fix minor issues.

Fixes:
* hive-exec should not be provided, this prevents the dependency from
  being transitive
* added hive-serde, used by kite-data-hcatalog
* updated default scope for mockito to "test"
Organize dependencies in kite-data and fix errors.

Fixes summarized by module below.

kite-data-core:
* Remove parquet-avro exclusion for kite-data-core (in root pom)

kite-data-hcatalog:
* Change hcatalog-core scope to compile (should be transitive)
* Add hive-exec and hive-serde direct deps (used in HiveUtils)
* Remove hive-serde exclusion from parquet-hive (direct dep)

kite-data-hbase:
* Add dependencies on avro and guava (used directly)
* Add findbugs annotations as provided deps (silence warnings)

kite-data-mapreduce:
* Mark kite-data-hbase optional (not used directly)
* Add kite-data-hcatalog as optional dependency

kite-data-crunch:
* Remove commons-httpclient (included in hadoop test dep bundle)
* Remove commons-codec (handled by root pom)
* Mark kite-data-hbase and kite-data-hcatalog optional
* Remove hcatalog-core dep (transitive from kite-data-hcatalog)
Minimize dataset executable jar.

This configures the maven-shade-plugin to minimize the size of the final
executable jar. Dependencies that are provided on the CDH 4.4 VM are
explicitly marked as provided and bundled dependencies (such as crunch
and findbugs annotations) are explicitly marked as compile.

Unfortunately, the maven-shade-plugin is including some transitive
dependencies, like hadoop-client, despite those dependencies being
included by a provided dependency, like kite-hadoop-dependencies. I
haven't found a work-around other than to specifically include a minimum
set of artifacts.
Fix avro conflict for hadoop1 and hadoop2.

This moves the avro dependency _above_ the hive dependencies in the
kite-data-hcatalog pom because hive-exec includes avro classes (Schema)
and is the cause of a java.lang.VerifyError. Moving the dependency
causes the constructed classpath to search the avro jar first.

This also marks hive-exec and hive-serde as provided dependencies,
although they are not. They are used directly, but their inclusion
breaks modules that depend on hcatalog because avro is included. This
means that other modules (like kite-data-crunch) have to include them
explicitly to run some tests. kite-tools already specifically marks
these as provided.

Last, this excludes avro and avro-mapred from hive-serde because maven
is including the 1.7.1 version in the classpath, even if the dependency
tree reports it as version managed.