Added Factoids

This commit encapsulates all the work necessary to add the factiods
feature to adness.

First off, a single factoid DB model was created that hold the CSS/HTML
and a list of all factoids for the system. This db object lives as a
sort of singleton is that there should only ever be one of this DB
model. There are two DB methods where one upserts the factoids type DB
object into the DB (this is essentially an update and replace method)
and a retrieval method that only ever returns one instance of the
factoids type DB object.

A couchapp view was created to return all 'factoids' type objects from
the DB but the DB method, getFactoids, will only return the first one
ever created. Any subsequently created factoids type DB objects are
ignored.

A routes factoids.js and model factoids.js file were created to serve
the DB model to the HTTP route and to serve the appropriate views. If a
factiods type DB model doesn't exist, a transient one is created and
shown to the user. Any new data from the user is added to the transient
DB model and saved to the database. The model.js and router.js files
were updated to reflect the changes above.

The routes and model files all feed into the views factoids.ejs file
that just show the admin the css/html and the list of facts current
in the DB. From here the admin can update the CSS/HTML and the list of
facts and save the changes back to the DB. The only significant portion
is that the HTML property needs to have "<%- text %>" somewhere in it so
the rest of the later parts of the code knows where to inject the random
fact into the html on random fact retrieval.

A randomFactoid.js model file was also created to return a random
factoid from the list of facts within the factoids type DB object. This
essentially just grabs the factoids type DB object, then takes a random
fact from the list and injects it into the html property. It then
removes the list of the db object and returns the lighten and inject
transient db model.

The routes ads.js file was modified to grab a random factoid when the
route is called and then injects that into the results array. This is
the array that ad router chooses a random ad from on calling
/sb/ads/random.

Finally the site.js file was modified to add GET and POST routes to
/admin/ads/factoids to both view and update factoids. admin.ejs was also
modified to have a link to the factoids page in the admin nav bar.