Add connection-independent database, and use it to share factoids across all connections.

This will add an 'idb' to Input to be used instead of 'db' when wanting a connection-independent database.

This also makes factoids use this database, so that all factoids will be shared across all networks.

Factoids can be migrated from a network database to a network-independent database using:

```
echo .dump | sqlite3 persist/<name>.db | sqlite3 persist/idb.db
```
<name> is the network name, default to 'esper'.

This will fix the issue of having separate factoids on separate networks.

This is a new PR for #196, which was outdated.