Better factoids

A better (imho) factoids implementation.

Features:
- @mentions – directs the response at the given user
- aliases – an alias factoid refers to the value of the given factoid
- factoids route – get the raw factoids data (JSON) via HTTP
- substitution – modify a factoid value by substitution (e.g. `s/string/new string/gi`)
- history – maintain the history (including who updated the factoid and when) of factoid values
- forget – make Hubot forget a factoid (the data will not be lost, just no longer used)
- customizable prefix – defaults to "!", ex. "!factoid" to retrieve a factoid value