Enhancment for https://github.com/greenmanspirit/journal.txt/issues/13

I did the following:
-Changed the exits in actions to return so that only errors kill the object
-Changed the exit in initialize to abort because trying to run journal without a journal.txt is an error and should be treated as such.
-Moved all date reading and writing into two functions so the format string wasn't all over the place
-Shortened how I handle the filter string
-Made all !entry tests match
-Moved some stuff around in the empty edit block
Prep for https://github.com/greenmanspirit/journal.txt/issues/26

I went through and
...cleaned out some unneeded asserts because I trust echo
...made all testing happen in a home directory apart from the test directory
...removed redundent tests created by the change above
...fixed some comments
...moved some times around

This reduced and cleaned up the tests significantly.