Add support for getting only portions of objects via HTTP range requests

I made getObject() take a forth parameter.  Now the third or fourth parameter may be an array (the forth is an array if the third is a filename or resource).  If an array is passed in, then it should have two indices [0] and [1] which point to start and end bytes, respectively.

ie:
$first_ten_bytes = S3::getObject($bucketName, $uploadName, array(1,10));

Of course, if no range is passed in, then the whole object is retrieved.