Implement MutNullableJS::or_init.

This will make it easier to implement lazy getters.
Use MutNullableJS::or_init in Document.
Use MutNullableJS::or_init in Window.
convert net crate to use hyper
convert msg crate to use hyper
convert script crate to use hyper
adjust WPT since hyper fixed some
PEP8 line length fixes in testing_commands.py

...so that PyLint stops yelling at me
Adds a --component (or -c) argument to test-unit

Example usage:

`./mach test-unit -c style`
Last second bug catch
Mach test inference fix
added ErrorEvent WebIDL and errorevent.rs
Set up openssl on Android
auto merge of #4230 : jdm/servo/errorreporter, r=jdm

Rebased from #3822.
auto merge of #4231 : mttr/servo/mach_test_fix, r=jdm

Somehow didn't catch this when renaming a variable.
auto merge of #4245 : Ms2ger/servo/lazy-getters, r=Manishearth
Temporarily change expectations for some wpt tests till hyper gets support for status codes >599
auto merge of #4198 : Manishearth/servo/hyper-droid, r=Manishearth

This is the Hyper pull request, plus the set up for OpenSSL on Android to make it merge.

Sean's commits have been reviewed in #4065 (My Android changes were reviewed by Glenn)
allow deleting last char
auto merge of #4247 : wenderen/servo/delete-one-char, r=jdm

fix #4243