Beginning of work to simplify Toshtogo protocol.

request-work! now takes job-filter parameters (in same format as get-jobs!), rather than a simple job-type filter.

This allows us to request a commitment for an arbitrary job, which will allow us to pull pause-job! out of the protocol.
Pulled pause-job! out of Toshtogo protocol
Pulled get-contract out of Toshtogo protocol
Parameter rename
Moved get-job out of protocol
Better error reporting in tests
Moved new-job! and complete-work! out of Toshtogo protocol in favour of higher-order functions that use it to persist data.
Protocol is closer to becoming a simple repository.
Also added :running state to contracts.
Moved new-contract! and request-work! out of protocol and into higher order functions.
Reordering and cleanup of methods on Toshtogo protocol
Moving toshtogo.server.api -> toshtogo.server.persistence
Renaming api -> persistence
Renaming protocol Toshtogo -> Persistence
Pulled higher-order functions into toshtogo.server.api, leaving toshtogo.persistence.protocol to do simple persistence.
Whitespace fixes
Inlined function for clarity
Collapsed constructor function
Renaming api -> persistence in request scope
0.4.10
Start work 0.4.11