if rows have invalid values, tell the user what they are
batch.update_entities now returns list of the updated entities
update collections/entities_latest; return all unless specified

also added docstrings params/return
idservice login/logout and session functions from ddr-local

ddr-cmdln is taking over ID service interactions from ddrlocal.
- login() function writes .git_name and .git_mail to the
  requests.Session object so they're available to ddrlocal.
- Function for getting a requests.Session object to continue a
  session.  Accepts sessionid and csrf token rather than a Django
  request object.
functions for getting next N collections/entities from ID service

Used by ddrlocal when creating new collection or entity.
function for registering lists of entities with the ID service
refactored ID service next-collection/entity functions

- Forms processing for next-ID and list-ID in ddr-workbench was
  broken out into separate views with different URLs.
- Moved new-ID URL massaging to the collection/entity_next funcs
  to simplify _objects_next.
- Moved html parsing into its own function for easier testing.
- Fixed soup.find_all args. Would *args have worked for this?