Rewrite basically everything

I should've done this in a branch. Instead I did it in another
repository. Oops.
Update Markdown
Reduce duplication by creating withEntryInput function
Reduce duplication by creating withEntry function
Normalize indentation
Move business logic out of action
Create a function for updating entries
Soft delete entries
Remove unnecessary hiding imports
Add a test suite for -Wall
Add a test suite for HLint
Configure Travis CI