Unified Date Handling role

'lo all,

Following on from the excellent work by @mwmiller to wrap calculator and numbers into a role, We've done the same with date handling (to address things like this https://github.com/duckduckgo/zeroclickinfo-goodies/issues/513). 

Not complete yet, however the goal will be to produce two public methods, `date_regex` and `parse_date`;
`date_regex` will output a massive regex for all the supported date formats, if they "look like dates"; but not guaranteeing that they're correct. I.e. 2014-02-31 would probably pass the match. 
`parse_date` will probably return a `DateTime` of the parsed date

Highlighting in the calendar disappeared:

![screen shot 2014-08-18 at 3 06 02 pm](https://cloud.githubusercontent.com/assets/81969/3956391/c1507b10-270a-11e4-8c1e-986c3ac5ec9d.png)

Compare to:

![screen shot 2014-08-18 at 3 06 34 pm](https://cloud.githubusercontent.com/assets/81969/3956394/c9f34ca2-270a-11e4-82df-772390f7e8b3.png)