AppTester-ify EndState's tests
Tests to see what end state does for session-based and non-session-based messages
Change end state test to show why non-session-based message session starts isn't working
Fix bug causing AppTester's tasks to not reset their im, app and api after .run()
More realistic way of testing EndState's behaviour with non-session-based messages
Change User to support an in_session property
Change InteractionMachine to manage User.in_session and handle messages accordingly
Change EndState to set its next state for new sessions, instead of after showing its content
Fix tester check task test that broke after including User.in_session
Fix example tests to not expect EndState to fast forward the user to its next state after it displays content to the user
Merge branch 'feature/issue-164-better-way-of-determining-new-session-interactions' into develop