Allow options to be passed to state creators
Change UserStateData to support the new creator_opts idea
Bring back UserStateData.reset(name, opts)
Fix docstring for AppStates.create()
Change InteractionMachine to support the new creator_opts idea
Change UserStateData.reset(state) to UserStateData.reset(state, opts) to allow creator_opts to be given
Change interaction machine to reset the user's state to the created state
Get AppTester setup and checking tasks working with the creator_opts idea. Involved changing AppTester.check.state to AppTester.check.user.state, since there is no way to check creator_opts against the im's state instance (checking the im state instance instead of the user's state was probably not a good idea anyways)
Fix 'bugs' in UserStateData's docstrings
Less confusing opts param description in AppStates.create()'s docstring
Add State.set_next_state() to put the state changing behaviour (and its documentation) in a single place
Git rid of User.change() now that we have State.set_next_state()
Change the current state types to use State.set_next_state()
Change InteractionMachine.switch_state() to expect metadata and creator_opts as compulsory arguments
Merge branch 'develop' into feature/issue-69-allow-options-to-be-passed-to-state-creators
Merge branch 'feature/issue-69-allow-options-to-be-passed-to-state-creators' into develop