Make sure invalid statements are caught

Closes #231
Fix regex for MRI ruby

It's error message has a couple extra spaces
Add integer regex constraints to all id routes
Extract id regex to constant
Merge pull request #241 from edpaget/fix-string-id-crash

Fix string id crash
Add FirstTask to Workflows change strings to array
Add String Extraction and Injection Visitors
Permit new style task hashes.
Don't use an explicit object to mark strings
Extract strings from tasks on create and update
Serialize strings into workflow tasks
Add Workflow Content Endpoint

- Refactor common access control for translated content
- Add Versioning to Workflows. Closes #206
- Addresses translation endpoints #122
Fix typo in versioned route option
Don't use NoMethodErrors for control flow
Use a HashWithIndifferentAccess for Tasks field

Covers up differences in how JRuby and MRI handle postgres JSON columns
Add first_task to returned workflow response
Test Workflow and Content versioning
Fix style issues
extract collector to the class that collects results
    
remove the collector from the base visitor class, instead use it in the subclass that collects results
Remove duplicated context