COUCHDB-1406 - Don't attempt to encode invalid json
remove unnecessary eaccess special casing

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.
clear ETS table entry if view group fails to start

Without this, the next process which tries to open the view group
will add itself to the wait list even though the monitor has already
fired. When that happens, the caller hangs forever.
don't delete view groups that fail to open

...but log a message instead. Fixes COUCHDB-1445.
update NEWS and CHANGES for COCUHDB-1445
restore some log messages after 311d069
no really, I was mostly right

The errors that come back from the file module are always of the form
{error, Reason}, and Reason is the atom that should be passed to
file:format_error/1.

In one case, couch_file was returning the atom file_exists rather than
comforming to the file module's errors I was expecting.

Returning {error, eexist} is cleaner.
Update NEWS & CHANGES for file:format_error
maintain the file_exists idiom

POSIX {error, eexist} from the file module needs to be kept from
bubbling all the way to couch_httpd or it will result in a 500 error
when a 412 is what we want.

This change confines all the "database exists already" conversion of
the {error, eexist} that now bubble out of couch_file contained within
couch_server.
create the system dbs straight away

Fix spurious errors on startup now that couch_file logs its error
results by asking that the system dbs be opened with the create
option rather than catching a first failure opening without it.
Revert "create the system dbs straight away"

We can't do this. Turns out we actually either specify that we wish to
overwrite the file or we fail couch_file:open even when create is
specified. Seems a bit crazy to me.

This reverts commit 5e2e0bb5a8dfce77e74340de74790ba87195434a.
lower couch_file error logging on open to DEBUG

The reason is that, while possibly informative when something does
need debugging, in the common case where the caller means to create
the file if it doesn't exist this may not be a genuine error.

Perhaps better would be if there were a way to actually request that
the file be created without requesting it be overwritten.
log 500 errors before return them to the client

This ensures that the log will contain any nasty errors we haven't
caught elsewhere. In particular, related to the previous patch, it
ensures that couch_file errors otherwise only logged at debug will
log at error unless caught elsewhere.
Configure for travis.
travis: make distcheck
Expand erlang releases tested by Travis
Improve script url validation
Include a comment before jsonp output
improve parsing of mochiweb relative paths

Patch adapted from http://www.couchbase.com/issues/browse/MB-7390
update NEWS & CHANGES