(COUCHDB-1305) isolate db process crashes

Merge of 1305-fix-isolate-db-crashes

[@davisp: I'll keep doing this nonsense until we allow merge commits!]

Note that there was previously a small error where couch_sys_dbs ETS
table was being searched for a #db record rather than the db name.

That's fixed here because I saw it. Sorry for not making it a
separate commit.

Squashed commit of the following:

commit f9e4e8a6e426d1569fac4cd707bbd393b102147d
Author: Randall Leeds <randall@apache.org>
Date:   Sat Jan 26 06:28:20 2013 -0800

    don't handle case clause when death happens anyway

    Presumably the reason for the process exit is already logged by
    the exiting process (unlike an unexpected message of another sort
    which may not have been logged already).

commit 10a052a3eddbd7e89b553966895ee38a9ce439d4
Author: Randall Leeds <randall@apache.org>
Date:   Sat Jan 26 06:25:23 2013 -0800

    consolidate two similar handle_info clauses

commit 6f3feb09e347dfe0c6812fd71e3f40d15d8d1ced
Author: Randall Leeds <randall@apache.org>
Date:   Sat Jan 26 04:35:35 2013 -0800

    isolate db process crashes in couch_server

    closes COUCHDB-1305
Support any type of Git checkout (cloned, or submodule)
Do not log errors on creating new view index.

While view index file may be really missed, it's ok for new views
and this error will be self-healed on next couch_file:open call
so there is no reason to worry user about.

COUCHDB-1666

Patch by Alexander Shorin.
COUCHDB-1667: Revert index_dir to view_index_dir config option.

Patch by Alexander Shorin.
COUCHDB-1654: Transparently update view signatures from <= 1.2.x.

Updates 1.2.x or earlier view files to 1.3.x or later view files
transparently, the first time the 1.2.x view file is opened by
1.3.x or later.

Here's how it works:

Before opening a view index,
If no matching index file is found in the new location:
 calculate the <= 1.2.x view signature
 if a file with that signature lives in the old location
   copy it to the new location with the new signature in the name.
Then proceed to open the view index as usual.
After opening, read its header.

If the header matches the <= 1.2.x style #index_header record:
  upgrade the header to the new #mrheader record
The next time the view is used, the new header is used.

If we crash after the rename, but before the header upgrade,
  the header upgrade is done on the next view opening.

If we crash between upgrading to the new header and writing
  that header to disk, we start with the old header again,
  do the upgrade and write to disk.

Includes etap tests in 250*.t.
Unfix view compaction progress reports

This reverts the compaction task status progress back to what exists on
1.2.x. The issue is that we use the number of documents in the database
instead of the number of docids in the union of all views (the number of
rows in the view's id btree). In this particular case the desire to have
seamless view upgrades outweighs fixing the relatively minor UI bug.
fix `make dist`
support JSONP in externals

COUCHDB-1313
refactor replicator_db_security to be more resilient
Reset rewrite counter on new request

We were spuriously throwing rewrite limit exceeded for non-looping
rewrites. This patch resets the count to zero at the start of a new
request and adds a test.

COUCHDB-1651
Removed alpha version
fixed build
whitespace
Correcting NEWS and CHANGES discrepancies
Correcting NEWS and CHANGES discrepancies
Correcting NEWS and CHANGES discrepancies
Correcting NEWS and CHANGES discrepancies
Correcting NEWS and CHANGES discrepancies
Correcting NEWS and CHANGES discrepancies
Correcting NEWS and CHANGES discrepancies