First step in adding support for getting Reads data from APIs such as Google Genomics

This is following preliminary discussions with @mccowan et al.
Step 1: adding ability to plug in external supplier of SamReader based on a configuration specified in the custom_reader property and using a url prefix of the SamInputResource url to trigger passing the creation request to the external factory.
Subsequent steps will add implementation of the external factory and SamReader based on Google Genomics api in https://github.com/googlegenomics/gatk-tools-java as well as changes in HTSJDK or Picard to use the new SamReader interfaces to take advantage of this capability and allow INPUT=<genomics api url> in Picard tools.