Add call_possible_function as a utility function
Add a set_defaults utility method
Change call_possible_function to not return a promise
Initial changes for State
Remove unused 'Q' require from utils module
Tests for State
Change state module and its tests to be more consistent with the rest of the toolkit
Remove more '.js' requires
Refactoring, documenting and tests for FreeText
Change ChoiceState, EndState and FreeText to accept only 'name' and 'opts' (to match what BookletState is doing)
Opts, promises and documenting for BookletState
Changes to DummyIm to match state test changes
Merge branch 'develop' into feature/issue-36-initial-changes-for-v02
Change freetext and state modules to use the same documenting convention as the interaction machine module
Add documented state options to freetext state
Fix bad function signature in FreeText 'docstring'
Opts, promises and documenting for Choice states
Remove old choice state test module (was a badly commited rename: test_choice.js -> test_choices.js)
Change places with require('foo.js') to require('foo')
Simplify promises in ChoiceState and FreeText's .input_event slightly