Clean up the behat suite

* Split Application and Filesystem contexts
* Convert most steps to Turnip
* Combine redundant steps
* Replace stream magic with stubs
* Use Symfony\ApplicationTester instead of our own
Type/doc fixes
Simplify how interactivity is set
Replacing progress formatter
Whitespace
Removing unused tag
Merge branch 'master' into refactor/behat-context-cleanup
Only have one beforeScenario per context
Format Describe step more similarly to Run step
Fix visibility
Missing field
Use custom matchers for readability
Moving custom matchers to separate classes
Merge pull request #591 from ciaranmcnulty/refactor/behat-context-cleanup

Clean up the Behat suite