Much progress getting twisted endpoints to work

It passes many of the unit tests... however
there are still some problems to fix.
Fix more bugs... connect deferred errback

Also we stop using protocol.ClientFactory and
use protocol.Factory instead.
Add travis yml file for https://travis-ci.org/
Get rid of some superfluous connect deferred cancels

and other minor changes...
Merge remote-tracking branch 'origin/endpoints_trial1' into endpoints_trial1
Fix TubConnector.shutdown

Porting to Twisted endpoints interfaces has us storing
the connect deferreds instead of connector objects.
Calling cancel on a connect deferred that has already fired
it's callback does NOT cause it's errback to fire. Fixed by calling
transport.loseConnection when the errback is not fired.
Fix TubConnector's negotiationComplete

Calling cancel on a connected connect deferred doesn't
cause a disconnect... so we call protocol.transport.loseConnection instead.
Remove host header from Negotiation class

We do this to avoid parsing endpoind descriptors.
Pass endpoint descriptor to TubConnector

We keep compatibility with old and new
connection hints while now supporting arbitrary
twisted endpoint descriptors. This of course
means NOT storing the location as a 3-tuple but
instead storing it as a string.
Fix various unit tests
Stop filtering out non-tcp connection hints

Also we remove the "test future connection hints test."
Convert unicode to str in all furl connection hints
Ensure backwards compatiblity

This is a big commit... I modified/added unit tests to
test both the old and new interfaces.
incomplete fix

Foolscap unit tests all pass.
Some of the Tahoe-LAFS unit tests fail/hang forever =-(
Fix TubConnectorFactory.stopFactory

Add:
self.tc.tub.connectorFinished(self.tc)
Str4d's original patch for server side endpoints

http://foolscap.lothar.com/trac/attachment/ticket/203/0001-Migrated-Listener-to-Twisted-endpoints.patch
Server side endpoints still has dirty reactor errors
... in the Tahoe-LAFS unit tests
Remove self.port
Teach WebViewer class to use endpoint strings
Fix test_crypto; parentTub no longer exists