Fix unit test failures when the host has no internet connection.

One annoying aspect of working on planes is that several of the unit tests fail
in ugly ways if the host has no internet access. I've added a check that tries
to resolve the hostname for google.com and skips any tests that require network
access.

Eventually, we should fix these tests to use mocks running on the host to
completely isolate us from third-party servers and internet connections.

Testing done: Ran unit tests whilst in-flight.
Reviewed at https://reviews.reviewboard.org/r/4569/
Turn off autocomplete for username/password fields in E-Mail Settings

When the username and password fields are set to blank and saved,
the fields are automatically filled by Chrome with the previous values,
indicating that the blank values are not saved successfully even though they
are. Turning off autocomplete for these fields avoids such confusion.

Testing done:
Manually tested updating username/password with both empty and
non-empty values.

Unit tests pass.

Fixes bug 2380.
Reviewed at https://reviews.reviewboard.org/r/4579/
Merge branch 'release-1.7.x'
Reduce docstring line lengths for webapi unit tests.

An annoying thing about submitting webapi unit test code for review is
that ReviewBot would be very sad about the docstring line lengths. These
were long because unit tests, by default, only show the first line.
However, that's under our control, it turns out.

Now, the new base TestCase will grab the summary, even if it's wrapped
across lines, and turn it into one line.

All the docstrings have been updated in the webapi tests for this. The
rules I used for formatting them is as follows:

1) If it can fit on one line, then keep it on one line.
2) If it needs to wrap, wrap the details part after "API" (such as
   "with ...") on the next line.
3) If it still needs to wrap, wrap the "METHOD URL API" part onto its
   own line, keeping it together as much as possible.
4) If it still needs to wrap, break that part up as needed.

Some URLs are long enough by themselves where they will still trigger
warnings, but this is limited to only a few instances now.
Clean up the order of webapi tests.

This is the next part of my master plan to improve the webapi test
suite. Tests are now divided into List and Item tests, and within these,
the tests are ordered alphabetically by HTTP method.

The next part will be to group list and item tests under their own test
suites and to simplify the function names.

There were no logic changes made to tests. They've only moved around.
However, some functions were renamed to use "put" or "post" instead of
"update" or "create".