Fix estimate code on Ruby 1.8.

Ruby 1.8.7 doesn't support Math#log2 or Float#round with an argument, so
make use of logarithmic properties and some multiplication and division
to produce an equivalent result.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Add a class for parsed reminders.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Move reminder parsing function to Reminder#parse.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Move the reminder generation code to the Reminder class.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Add a missing space after a comma.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Add a RuboCop task to the Rakefile.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Add an all task to the Rakefile.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Add module comment.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Define an exception class.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Move existing password generation to its own function.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>