Adding CountReads object and ReadCounter CLI option.
Adding hasReferenceRegion to ReferenceMapping
[ADAM-420] Adding a package for custom exceptions.

Including UnmappedException as the first (typed) custom exception.

This is so we can include/report better error messages from within ADAM
processes.
[ADAM-297] RegionJoin filters for mappability

There are two changes here:

1. RegionJoin.partitionAndJoin now pre-filters all records on either
side of the join with a check that the records are mappable, and doesn't
try to join those that aren't.

2. RegionJoin attempts to catch the NPE that comes from having
non-mappable records sneak through, and throws an UnmappedException
instead.