Respoke TodoMVC

## Background
This TodoMVC demonstrates a framework agnostic and simple way to incorporate real-time messaging into your application using the Respoke API. Respoke makes it simple to add live voice, video, text, and data features to your website or app without having to worry about maintaining and enhancing all the server infrastructure needed for production ready apps.

![image](https://cloud.githubusercontent.com/assets/376230/4791422/e5650d78-5ddc-11e4-84f6-c37a2c02cfec.png)

## How To Use
- Open https://rawgit.com/tiandavis/todomvc/master/examples/vanillajs-respoke/index.html
- Open a second instance in either Chrome Incognito (cmd + shift + n) or Firefox
- From there simply use the TodoMVC application
- Expect what you type in one browser instance to automagically show up in the second browser instance

## Running The Code
- npm install
- bower install
- gulp
- open http://localhost:8080/examples/vanillajs-respoke/

## Real-Time Messageing Integration and Specs
All TodoMVC functionality is integrated with the Respoke API. Including: 'Create a New Todo', 'Remove a Todo', 'Complete a Todo', 'Complete All Todos' and 'Clear Completed Todos'.

All Specs have been regression tested and are passing:

![image](https://cloud.githubusercontent.com/assets/376230/4791597/9c8c94de-5dde-11e4-9abf-e0fb7263f410.png)


And if you are truly trying to emulate an asynchronous action, the callback needs to be called asynchronously... 
```
setTimeout(function () {
  callback(...)
}, 0);
```

you could write a helper for that so you don't have to litter it across this module