Remove assertion when database compaction finishes

Because the task status is updated only if the time elapsed
since the last task status update is greater than some treshold,
the value of the changes_done property might be smaller than
TotalChanges.

Closes COUCHDB-1451
Added 1.2.1 sections
Expand erlang releases tested by Travis
Merged pull request #19 from @maghoff with thanks

Fix failed loading of CommonJS modules that end in a line comment.
Added Magnus Hoff to THANKS

Bring THANKS into line with master
Revert "Added Magnus Hoff to THANKS"

This reverts commit 8d088bbb9b5de9ebdb49a7f8a135181abc712ac2.

Dave merged the master THANKS file into 1.2.x which includes
people that haven't contributed to 1.2.x. Likely an accident.
Add Magnus Hoff to THANKS
Directory creation in line 86 breaks permissions.

Closes PR #20.

Thanks to Alexander Dorofeev.
Backport (master): Do not overwrite X-CouchDB-Requested-Path

Master commit id: 40a4e33.

Repeated rewrites would replace the initial value of
X-CouchDB-Requested-Path.

Fixes: COUCHDB-1442
Limit rewrite recursion depth

Loops in the rewriter would end up pegging the CPU until memory was
exhausted. Max recursion is now configurable and limited to 100
iterations.

Fixes: COUCHDB-1441
init.d: Only chown when COUCHDB_USER is not empty.
COUCHDB-1473 & COUCHDB-1472 - Futon: disable buttons if user has insufficient rights

- Disabled the delete database button if it is not in adminparty,
 or if the current user is not admin.
- Security button is also disabled if user is not a database admin.
Add Anthony S Baker to THANKS
COUCHDB-1482 - use correct linker flags to build snappy_nif.dll on Windows

- Windows 2008 Server enforces stricter requirements on C runtime dependencies than non-server versions
- Erlang/OTP cc.sh and ld.sh build scripts mix release and debug runtime dependencies in in some circumstances
- this prevents loading the NIF from loading at all
- adding optimisation flags ensures the OTP build does the right thing
Thanks Nick North for identifying this bug.
Avoid possible timeout initializing replications

If 2 different replications start and finish at about the same
time, there's a chance one is doing a synchronous gen_server
call to the replication manager (to notify it that it started)
while the replication manager is doing a call to the replication
supervisor because the other replication just finished.

COUCHDB-1461
Handle ddoc_updated event correctly.

COUCHDB-1309 introduced a new update event of the form {ddoc_updated,
{DbName, DDocId}}. Unfortunately it did not update
couch_db_update_notifier with a clause that can marshal this to JSON
successfully, breaking all uses of [update_notification]

This commit improves event encoding so that the above renders as
{"type":"ddoc_updated","db":"DbName","id":"DDocId"}

COUCHDB-1508
Assert that #group.sig never changes in the lifetime of a couch_view_group process

COUCHDB-1444 demonstrates that init_args and group get out of sync
somehow, leading to unexpected 404's (missing_named_view) and
200's. This patch ensures that #group.sig never changes in the hope
that it will lead to the cause of 1444 and prevent other occurrences
of the same class of bug.
COUCHDB-1444 Broken couch_view_group

It appears that exit signals were propogating between couch_view_updater
processes through couch_os_process and friends. This changes the use of
the 'EXIT' signal to a '$gen_cast' message.