disallow https for remote loading as well
improve file I/O error logging and handling

It's better to let these errors bubble and/or not give them special
treatment when file:format_error/1 can do a better job of describing
the failure.

This is a forward-port of work done on 1.2.x, encompassing the
following commits:

04c4a1041de06e8e39983cf9616c8baf9d889106
ede9482fc3c9e629572ab1376d88f4499c4c8beb
cd238b42d1333cece5ab899c35c3b83ada8d448a
af9e1c883ca4accb209cccc7ac9d26efa4daf1fd
ba8fa86890087650a02a8ebaaea2537468999472
log 5xx responses at error level

This change should reduce the risk that administrators fail to
recognize correctable server errors without creating excess noise.

If malformed requests start throwing 5xx errors into the logs, we
should look at detecting them and reporting a better error, probably
a 4xx, but it's more important that an admin known that, e.g., the
permissions of a .couch file are wrong.
don't delete view groups that fail to open

...but log a message instead. Fixes COUCHDB-1445.
Update NEWS & CHANGES
Consume all ibrowse messages before stream_next

The flow control in ibrowse's async response streams is tricky.  We call
stream_next to pull more data off the socket, but it seems that ibrowse
will sometimes split that data into multiple messages.  If we call
stream_next for each message we process we end up with an overflowing
mailbox.

This patch changes the consumer so that it clears out the mailbox before
calling stream_next.
Merged pull request #7 from @mikeymckay, with thanks
Document Id and Rev in response headers
Only return X-Couch-Id (rev is available in ETag)
Test the X-Couch-Id header
Allow any 2xx code to indicate success
Restore 400 error for empty PUT
Log problems opening database at ERROR level except for auto-created system dbs
Work around race conditions in tests on faster hardware.

THIS NEEDS A PROPER FIX.
Add rapid db recreation test case
Module Level Logging

With this patch, you can set log levels per CouchDB module that
overrides the default set in `[log] level = `.

For example:

    [log]
    level = info

    [log_level_by_module]
    couch_httpd = debug

This will have all modules log at level 'info' and `couch_httpd` log
at level 'debug'.

See src/*/*.erl for the various CouchDB modules.

Based on work started by Robert Newson.
update NEWS & CHANGES
COUCHDB-1424 Fix etap to not consume any message

Turns out that etap consumes any message in the mailbox in
some cases. This can make some tests that use message passing
hang, as etap itself consumes the messages.
Stabilize replication id

This patch introduces a stable server-wide UUID which is used in place
of the local hostname and port number in new replication ids. This
allows CouchDB to find a valid checkpoint even if the coordinating
node's port has changed (it might be using a dynamic port, for example).

COUCHDB-1259
Add couch_httpd_misc_handlers:handle_file_req

This can be used to serve up files like /crossdomain.xml from a
CouchDB instance. For example, you could add:

    [httpd_global_handlers]
    crossdomain.xml = {couch_httpd_misc_handlers, handle_file_req, "/usr/share/couchdb/www/crossdomain.xml" }

To your local.ini to serve up crossdomain.xml.

Closes #4