Remove per second aggregation
Minor changes

- Forward print, run, ask to the underlying database as well
- load "pp" from the sqlite3 extensions (used by #print)
Optimize aggregation

The aggregate only events w/matching names does not improve performance:
after all events only rarely overlap from the recent aggregate period
anyways, and then most names should exist in both parts.
Refactored to allow both DB and IO writers

The IO writer sends data to an ::IO stream; this is usually a process
behind a socket.
Adds Socket server.

Implements a server which collects data sent via a UNIX socket.
sqlite3: switch to WAL mode

WAL mode improves concurrency; especially with a N readers + 1 writer 
scenario.
sqlite3: don't choke on exceptions.

just in case: if a code wants to write a metric and that fails, it
should never fail.
Improves sqlite3 extensions

The Sqlite3::Record class now also holds a reference to the query
columns, and supports a to_hash method to produce a hash from a record.
Adds web server which delivers graphs
Adds query registry and refactors sqlite-related code.
Updates Gemfile, add config.ru file
Bump version no.
Refactored to have a single MS instance per system
Refactored: turns IO and Database into private implementation classes.
Refactored: adapted web for singleton infrastructure.
Refactored: adapted server for singleton infrastructure.
Adds parallel and benchmark test scripts
server: move flush_events in separate method
Fixes shutdown: Make sure the buffer is flushed completeley.
Whitespace fixes