Merge pull request #66 from mengxr/master

add SimpleRandomSample to sampling, which implements a scalable simple random sampling algorithm
Update documentation

[ci skip]
Update contributors

[ci skip]
Update README

[ci skip]
Update README

[ci skip]
Update README

[ci skip]
Update pom

[ci skip]
Initial commit of hourglass
README updates

[ci skip]
Clean up hourglass build classpaths

[ci skip]
Add pom template for hourglass

[ci skip]
Set up deployment of hourglass to sonatype

[ci skip]
Make partition-preserving job support joins on inconsistent schemas

When joining two paths, it's possible that there may be a type that appears in both schemas (i.e. same namespace and name). It's also possible that the schemas for this type may not match. It's not uncommon to share types across data sets. Backwards compatible changes are sometimes made to these shared types, such as adding a nullable field. Old data in this case can still be parsed with the new schema. But one path may be behind the other. This causes a problem with Hourglass because it constructs a union of the input schemas, as required by Avro since an input schema must be set for the job. Actually this should be a problem with any MapReduce job joining Avro data like this.

The solution provided here is to store a mapping from input path to schema in the job configuration and use the right schema when constructing the record reader.  A custom input format AvroMultipleInputsKeyInputFormat is created that checks this mapping in the configuration.  This replaces the usage of AvroKeyInputFormat, which only supports a single input schema per job.

[ci skip]
Make partition-collapsing job support joins on inconsistent schemas
Version 0.1.0 was released, bumping version
Released 0.1.1, bumping version
Fix to correctly load schema for input paths

The map from input path to schema was not set up correctly in the record reader, so the schema wasn't be loaded as a result and instead was null.  This corrects the problem and also adds verification that the schema can be determined.

This also fixes an issue where only schemas for the most recent day of input would be loaded.  This could cause a problems for joins as data for the most recent day may not be available across all inputs.  As a result these missing inputs did not have schemas loaded.
Released hourglass 0.1.2, bumping version
Allow overriding java source and target version via properties
Moving all dependency versions to a property file.