Merge tag '1.4.1' into develop

1.4.1
Merge branch 'develop' of github.com:ether/etherpad-lite into develop
Merge branch 'develop' of github.com:ether/etherpad-lite into develop
Merge branch 'develop' of github.com:ether/etherpad-lite into develop
Merge branch 'develop' of github.com:ether/etherpad-lite into develop
Restore pad to new location at a given revision

This script gives an admin with shell access the ability to restore a
pad at a given revision by essentially rebuilding it at a new location
with data associated with the original pad.  The upsides to creating a
new pad vs. changing the original are: 1) avoiding service disruptions
(no deletes, no moving targets - builds from previous revision); and 2)
preservation of data (no deletes, no overwriting of the source pad).
The most obvious downside is the pad has a new ID which could require
folks to update their links, bookmarks, etc. to point at the new
location.
Merge branch 'develop' of github.com:ether/etherpad-lite into develop
Simplify the rebuild process

The majority of the information needed to build the new pad can be
communicated by simply cloning the rev using a db.set().
mocha
basic test runner
mocha version
make internal note of which endpoints need testing
Merge branch 'develop' of github.com:ether/etherpad-lite into backend-tests
handle auth fails
basic pad tests without test logic yet
all pad tests with content
tidy up and re-organize
mowah pad tests, tea time
30% of session and group tests done
60% of backend api tests written