Add an --http-proxy option.

Causes HTTP requests to be made through the given proxy, which must be
given as a URL. For example,
	meek-client --http-proxy=http://127.0.0.1:8080/

Without this option, the default golang behavior of using a proxy iff
the HTTP_PROXY or http_proxy environment variable is set is used.

We found this useful in configuring meek-client to use another
circumvention system that works as an HTTP proxy.
https://lists.torproject.org/pipermail/tor-dev/2014-March/006356.html
Understand an http-proxy SOCKS arg.

For example,
	Bridge meek 0.0.2.0:1 http-proxy=http://localhost:8787/
Typo.
Move common request–response settings into a struct.
Use a global options struct.
Use urlfetch.Transport directly.

Since we're only calling RoundTrip, we don't need a urlfetch.Client.
Increase URL fetch timeout to 10 seconds.

The default timeout is 5 seconds.
	https://developers.google.com/appengine/docs/go/urlfetch/reference#Transport

Maybe this will reduce the number of failures I occasionally see. The
App Engine log when one of the failures happens is:
	[04/Mar/2014:09:31:48 -0800] "POST / HTTP/1.1" 500 77 - "Go 1.1 package http" "meek-reflect.appspot.com" ms=11 cpu_ms=0 cpm_usd=0.000089 app_engine_release=1.9.0
	RoundTrip: API error 2 (urlfetch: FETCH_ERROR)
The "ms=11" makes me think that it didn't run long enough to have
exceeded the deadline. But "API error 2" might have something to do with
the timeout, for example at the link
	https://groups.google.com/forum/#!topic/google-appengine-go/Qq3RbStW0gQ
When I run locally using the SDK with a short timeout, like 50
milliseconds, I get errors like this:
	2014/03/04 18:19:32 ERROR: RoundTrip: API error 2 (urlfetch: FETCH_ERROR): [Errno 101] Network is unreachable
Remove logging of session ids.
Add --cert and --key options and do HTTPS by default.
Add --disable-tls option for plain HTTP.
Log whether we are using HTTP or HTTPS.
Use new dedicated subdomain with HTTPS.
Add test for measuring latency from App Engine.
Use another bridge that has been set up.
Skeleton of extension.
Prototype of making an HTTPS request with domain fronting.
Remove extra console.log.
Look more like a real extension.

The code is now in a component, not a browser overlay. I followed some
instructions from
	https://developer.mozilla.org/en-US/docs/How_to_Build_an_XPCOM_Component_in_Javascript
	https://developer.mozilla.org/en-US/docs/Mozilla/XPCOM/Receiving_startup_notifications
	https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/XPCOMUtils.jsm
It now runs just once at startup. (Previously it ran for each new
browser window.)
Four-space indents.
Wait for an incoming connection before making the request.