[cleanup] Major house cleaning in Map.opa.

Rudy should be happy. I moved all implementation code into
Map_private, as per his comment ("all implementations should
go in Map_private").

I also normalized the indentation and made most of the
source code fit 80-columns as per CONTRIBUTING.md (I left
only one or two spots where readability would suffer a lot
from adding a newline).

I documented some functions which previously weren't
documented. There are quite a few more in here that could
use documenting still.

I tried very hard not to change any implementations. This is
intended to be a purely aesthetic and organizational patch.
The two cases I can think this would change functionality
are:

1. Many functions which used to be directly implemented in
Map_make are now implemented in Map_private, with a call
from Map_make. The only issue I can think of here would be
performance-related due to an additional function call.

2. I could have made a mistake.

I have done minimal testing (ran opatetris). Unit tests
would make me more comfortable but I didn't find any.
[feature] add Session.set_connection_lost_handler

Added a way to set a custom callback function to be called
when the client detects that it has been disconnected
from the server.

Prior to this patch, the behavior was always to print to
the jlog (browser page): "The connexion to the server seems
to have been lost." Now the programmer can customize this
behavior.

Here is a fully-functional and tested usage case:

  import stdlib.core.rpc.core;
  import stdlib.web.client;

  client function my_connection_lost_handler() {
    Client.alert("connection lost, press OK to reload");
    Client.reload();
  }

  function setup_handler() {
    Session.set_connection_lost_handler(my_connection_lost_handler);
  }

  function page() {
    <div onready={function(_) { setup_handler() }}>
     this is the <strong>custom connection handler
     test</strong> page. try killing the server and
     waiting a couple of minutes.
    </div>
  }

  Server.start(Server.http,
    {title:"connection handler test", page:page})

Caveats: like many functions in Opa, if you call
set_connection_lost_handler before the client has finished
loading the page, your app will hang. To avoid this, always
call it from within an `onready` or another type of event
handler.
[feature] ansi:  Improved Ansi library.
[contrib] merge: pull request #107 from 'ogunden/map_cleanup'
[cleanup] stdlib, map: Just privatize Map_private
[contrib] merge: pull request #108 from 'ogunden/connectmon'
[refactor] runtime, ping: Just a quick refactor of the pull request #108, no more set_connection_lost_handler but add_connection_lost_handler and move to PingClient
[fix] runtime, postgres: StringArray serialization
[fix] compiler, database, postgres: Fix QIn