Parquet-related Utility Classes

This includes several utility classes that we wrote, as part of our work to adapt and re-use Parquet within Spark and ADAM.  

One of our goals was to re-use as little Hadoop-specific functionality as possible, since disentangling Parquet from Hadoop was important (for a number of reasons, not least of which are class conflicts when it comes to wrapping HTTP services around a Spark cluster).  

This PR includes three major components: 
* ByteAccess -- which is a trait whose implementations wrap any source of bytes to which random access is available
* some classes that help us load and manage S3 and AWS credentials, and 
* FileLocator -- a trait whose implementations are a union of Hadoop's "Path" class, Java's File class, URLs, and pointers into S3.  

Carl and I are eager to hear, though, if anyone objects to these implementations and would like to suggest an alternative class or type that already exists and does the same thing.  We're eager not to re-invent too many wheels.
Yeah, it's meant as a complement to readByteStream.  The latter gives an InputStream, whereas readFully reads all the bytes in the given range and stores them in an Array.  It's a convenience method, for situations where you're just going to read it into an Array anyway.