Add the initial version of the global_changes app.

BugzID: 17681
Fix heartbeat=true for db_updates feeds

This commit fixes some bad case clause ordering. It'd match 'true' to a
variable when the variable should only either be false or a number.

BugzID: 24170
set module version to 1
Fix changes API usage for new pending values

BugzId: 26119
Fix limit=N for non-admins by counting post-filter

Prior to this commit, the _db_updates endpoint would often return less
than N results for limit=N queries, even when there were N changes to
return. This was because the limiting was done by passing the limit
parameter to fabric:changes, which doesn't account for the per-user
filtering done in global_changes_httpd.

This commit adds explicit counting of the filtered changes in
global_changes_httpd and manually ends the request when N post-filter
changes have been seen.

BugzID: 25272
This was a silly off-by-one error while counting

The start message doesn't count as a row so we don't want to adjust
Acc#acc.limit based on that message.

BugzId: 26165
Make changes_callback end request when limit=1

Prior to this commit, the limit was hit when limit=0 by the first
changes_callback function clause. This makes maybe_finish end the
request when limit=1, so that it doesn't have to wait for another change
to end the request.

BugzID: 26166
Use gen_server:cast rather than rexi RPCs

Prior to this commit, the global_changes_listener would send updates to
the global_changes_server via a rexi RPC which only did a
gen_server:call. This is needlessly heavyweight and would cause
gen_server:call timeout errors when the global_changes_server was slow
(usually due to slow disk IO). This commit removes the rexi RPC and
replaces it with a gen_server:cast.

Since this causes all global_changes_server handlers to not reply, this
commit also removes the format_reply function as it's unnecessary.

BugzID: 28242
Raise default global_changes max_write_delay & max_event_delay to 500ms

BugzID: 28257
Add ASF license