Rename data -> records in the JS, because there's already a data var
[#1] Uses natural_number_validator instead of int for limit and offset
[#1] Adds limit and offset to the form
[#1] Don't use limit or offset on the datastore query if they're None

This allows us to use DataStore's default values.
Reduce duplication in the tests