Add Convos::Archive classes for storing IRC log to disk

I split your original code into two classes @marcusramberg. I think this makes it easier to extend later on.

I also moved the "archive" object to Convos::Core, and a "save" event to Convos::Core::Connection, so we only need one archive object. Not quite sure what is right or not here.

Anyhow, the "save" event in Convos::Core::Connection could be the first step to making plugins for Convos :)

Here is the log from t/chat.t, saved to ```irc_logs_test/doe/magnet/2014/09-01.log```
```
17:55:02 :!@ Connected to IRC server
17:55:02 :fooman!user@host doe: see this &amp; link: http://convos.by?a=1&b=2#yikes # really cool
17:55:02 :fooman!user@host mIRC 4colors 4,14http://www.mirc.com/colors.html suck imho
17:55:02 :fooman!user@host doe: see this &amp; link: http://magnet/foo really cool
17:55:02 :fooman!user@host doe: see this &amp; link: http://magnet/foo
17:55:02 :fooman!user@host <script src="i/will/take/over.js"></script>
17:55:02 :fooman!user@host is too cool
17:55:02 :!@ some error message
17:55:02 :!@ Your host is Tampa.FL.US.Undernet.org
17:55:02 :!@ Cannot join channel (+b)
17:55:02 :fooman!user@host http://convos.by is really cool
17:55:02 :fooman!user@host [13convos] 15jhthorsen closed issue #132: /query is broken  02http://git.io/saYuUg
17:55:02 :fooman!user@host This is cool (http://convos.pl)
17:55:02 :fooman!user@host this http://perl.org and https://github.com/jhthorsen is cool!
```

Yeah... And I don't have any tests for the ElasticSearch part.
That's for the unit tests, not for the application.