Features: stale-queued, limit, current status

This branch adds 3 new features:
- Adds a limit parameter for `.get_objects_for_workflow_step`
- Adds methods to deal with workflows in a 'queued' state older than some timestamp, to be used by the soon-to-be-developed stale-jobs sweeper
- Conditional update of a workflow step: if you pass in a `:current_status` option to the `.update_workflow_status` method