Squashed commit of the following:

commit fcf23a1fbe42e1bac0546fa7de326c5d32cfc2c3
Author: Tom Taylor <tom@tomtaylor.co.uk>
Date:   Thu May 16 11:13:57 2013 +0100

    Remove extra require 'date' after rebase.

commit 9c59bb60efc090293f1ae5e24a267fcd666e387f
Author: Tobias Maier <info@tobiasmaier.info>
Date:   Sat Mar 30 18:22:30 2013 +0100

    Add some more specs for process_output method

commit 1d47e13b5c4af6e350927d11284f88f3f5904cb9
Author: Tobias Maier <info@tobiasmaier.info>
Date:   Sat Mar 30 18:14:04 2013 +0100

    Strips whitespace from metadata pair

commit c904999e7da0a620d2402f25f144942f033f6fae
Author: Tobias Maier <info@tobiasmaier.info>
Date:   Sat Mar 30 18:03:54 2013 +0100

    Catch errors when parsing dates

commit 83c9fdc70c001489527426c6f88a47621787f553
Author: Tobias Maier <info@tobiasmaier.info>
Date:   Sat Mar 30 17:48:20 2013 +0100

    Require 'date' unless DateTime is already defined