i) Fixed data parsing so that now it imports all add and sub chunks by fixing the following bugs
  - it only reads the first element previously
  - it reads the count byte as signed integer
ii) Fixed RFD response parsing so that it won't throw exception when there is no more update
iii) Fixed SafeBrowsing2.requestFullHashes to indeed ask for full hashes
i) To match a URL against a host key, we must try matching based upon the two most significant host components, and also the three most significant host components if three such components exist.
ii) Fixed sub_chunk filtering that empty-prefix sub_chunk should be handled.
Removed todo message because optimization may not be necessary.
Optimized addFullHashes in MySQL.
Fixed the bug that I introduced. We should indeed send prefix to ask for full length hashes. If the chunk has empty prefix, the match host can be seen as bad.
check both 3 and 2 level host keys
make sList primary key for Updates table
override getMacKey method for MSSQL to cater for different LIMIT syntax
Added some test cases in readme.
Added a test case to generate host keys for ip address.
Update src/main/scala/net/google/safebrowsing2/SafeBrowsing2.scala

Perform full hash lookup for any match in the local db.
Merge branch 'master' of git://github.com/snopoke/google-safebrowsing2