Make launcher and testRunner executables
Use mockti fake server

Use sinon asserts. Use a timout to make fake server load it's
callbacks last (nextTick places it in to early in the queue).

DRY server responses.
Add autoRedirect: false option
Move onerror and onload to helper functions
Convert timouts in tests to use Q promises
Handle 30x redirects
Refactor redirect tests for better hop managment

The tests were basically the same only the hops differed. DRY up with
some refactoring proved worth while.
Add test for mutiple redirect loop
Have testRedirect function return the promise

To allow further testing and more custom ssertiosn on the
promise object itself.
Remove redundency to response data
Add a maximum number of redirects allowed

Will fail if this muber is reached.
Add more tests for missing 30x redirects

Except 304, It's special.
Handle possible 304 redirects

Uses the built in cache option. It is assumed Titanium handles this
correctly unlike the other redirects which obviously fail.
Lookup location via headers

The location property in Titanium is not what you thin. The docs are
misleading in the real value. You have to access the correct location
value from the headers.
Fix typos/spelling in spec definitions

[skip ci]
Clean up spec descriptions / layout
Merge pull request #2 from sukima/feature/302-redirect

Attempt at manually handling redirects