Metadata Support

I've added support for creating and updating metadata, using the approach described in #101.  Unit tests have been added.  Metadata can now be added on Charges, Customers, Invoice Items, Plans, Transfers and Recipients, and can be Updated on all of these except Charges (which does not have an Update function).

In doing this, I also fixed the unit tests so that they worked on the latest API - there were some problems: 
* Date-specific checks fail if testing machine isn't exactly in sync with Stripe machine (adjusted test to allow upto 1 min difference)
* API 2013-02-11 changed behaviour to throw exception when paying an invoice instead of setting paid to false.
* Compiler warnings due to Machine.Specifications style (suppressed)