Added support for custom transitions
Completely rewrite diffing. Also add documentation. Fixes #1
Comment and remove unneccessary code

Also implements proper control flow (emit loaded after transitioning is complete)
Set redis session to localhost by default