Introduction ScanFilter and updating GetRequest to have multiple families

Firstly sorry for changing so many files in 1 pull request. This was pending on my side for a while. I wanted to get this out before I make other changes.

I have added a ScanFilter class which anyone can extend to add more filters to asynchbase. In addition to that I have added new filters and updated the existing Scanner class to allow a list of filters.

GetRequest has been updated to handle multiple families. This will allow a user to make a single RPC call if they need to get one or more families in a row.

ParsedKeyValues makes it easy for a user to make a GetRequest from a list of KeyValues, this way anyone who is not comfortable with byte[][][] can use GetRequest.createNew(List<KeyValue>) method.