Add start and length to rows and make package Pip compatible

Sorry for the second pull request, and large set of commits for this tiny change...anyways, this does what the title says: adds two parameters to the rows function of Dataset to allow for basically pagination to happen on data requests.

Oddly though, the API won't allow anything with a length greater than 1000...is there some way around that? It'd be nice to be able to grab sets of data from the source, instead of downloading the entire database. It would also make getting updates from the source easier.

Please let me know if there's any other changes you think need to be done before this gets pulled in.