[WIP] @1aurabrown => Switch View

I'm holding off on calling this "done" because of this (serious) problem with our testing suite: https://github.com/artsy/eidolon/issues/52

However, it's in an OK place to start a code review. 

Also I added in an Objective-C category taken from eigen. I'll probably swiftify it at some point. 
in our own code, we do use a constant for all animations, although if we're making it a pod it seems nice to let people set the duration themselves