Add Billing Plan related data types

That is Plan and all data_types that it refers to in its
load_members method that haven't been defined yet, recursively. Included
in each new data types are their load_members method.
Add all, find and create methods to Plan DataType

The DataType PlanHistory to store the response from all was also added
with this commit.
Add Billing Agreement DataTypes

Including OverrideChargeModel, a member of Agreement, which wasn't
defined.
Add ::find, #create and #execute methods to Agreement
Add Note class used in Agreement methods
Add #suspend, #reactivate and #cancel to Agreement
Adding provisionary #update for Plan
Add missing attributes to Agreement

The attributes added are state and agreement_details. They're only
mentionned in the documentation in a response example.
Changed Agreement#execute to Agreement::execute

This was initially created as an instance method to reflect
Payment#execute, but after usage it became clear that the REST API's
execute method for Agreements is better represented as a class
method.
Add last_payment_date and last_payment_amount to AgreementDetails
Merge pull request #46 from stevegod/recurring-payment-support

Recurring payment support