[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.