Send a real EventSource event for heartbeat

The EventSource connection can get stuck (in TCP half-open state*) and there's no way
for the client to detect that. This commit changes the way heartbeat is sent, instead of
sending a newline character, it sends an empty event of type heartbeat:

    event: heartbeat
    data:

This event doesn't have an id: field, so the client will retain its latest Last-Event-ID state.

This doesn't change the expectations of clients that used EventSource till now, because they
subscribe to the 'message' event type. To get the 'heartbeat' events a client will need to
explicitly subscribe to it:

    source.addEventListener('heartbeat', function () { /* cancel a timer that would otherwise reconnect the source */ });

* this can happen when you suspend your laptop, on flaky internet connection, ADSL reconnect,
bad wifi signals, bad routers etc. Pretty often in a typical internet usage nowadays.
Fauxton: fix loading of pouch

Added a red test which turned green
Support `fail_if_no_peer_cert` ssl option
Rephrase part of the replicator documentation

This tries to make the replicator documentation's "Delegations" section
more clear and easier to read.
Fauxton: reformat code & remove whitespace
Fauxton: refactor ActiveTasks

- do not use a model as a collection, directly operate on the
  collection which gets filtered for the view
- remove the view which acted as layer to fetch collections from
  the model and passed it to a view
- remove not used html-template
- format code
Fauxton: do not load unnessecary d3 & backbone
Fauxton: Hide preview functionality until we improve it