Functional View Controllers

This is all very much work in progress, and mainly done to show what is possible in Swift.

The current interface looks a lot like flatMap (in the code, it's the >>> operator).

A video explaining how to use this was recorded at the Swift Summit in London: https://www.youtube.com/watch?v=sXHJ-CeN0Us