Limit the response length in first() and one()

It is easy to write code with first() which will download large amounts
of data from the server. Because first() only returns the first results
we can set the limit parameter internally.



The problem was that I keep writing code like:

row = db.view('my/doc', startkey='abc').first()

and in production this maxes out the memory usage on the server.