Added persistent stateful BotComponents.

The uptime component has been modified to use the persistent framework and now
saves a log of uptimes in `data/seen.txt`.
Added a .cabal and --data flag.

Added a .cabal file that manages building the executable. This way we don't have
temp files lying around cluttering the main working directory. Also the data
directory can be specified with the --data flag and the directory will be
created if it does not exist already.