Interface for savon-multipart for Savon2

The motivation behind this change is to provide the savon-multipart gem a hook
so that one can use it with savon. There is little desire (or much reason) to
fix this directly in Savon since very few people will ever use it. So long as
there is a mechanism for end users of savon-multipart to specify this, it should
be easy for Savon to refactor without needing to make changes for multipart
support.

The indended use case for this would be to either configure a global or local
multipart key to :true like so:

client = Savon::Client('http://service.example.com', :multipart => true)

# or for only a single call on a client
client.call(:some_method_returns_multipart, :multipart => true)
Update changelog
Fix tests so they pass on earlier rubies

I had forgot that class_variable_set was a private method before ruby 1.9
Raise an error if Savon::Multipart is not available

Don't try to load it, assume that the end user will do this - this way
we don't need to potentially call require multiple times during runtime.

Also fixed the multipart specs so they'd be less likely to interfere with
other ones and make those fail. Instead of mucking with the spec-level
globals object, create one for multipart when we need it.
Merge pull request #434 from nearbuy/savon2-multipart

Interface for savon-multipart for Savon2
refactored #434 and updated the changelog
added note about gittip to the readme [ci skip]
Allow Savon mocks to receive any message. Closes #402

Previously, there was no way to create a mock without expectation of the
specific message to be sent to the SOAP action.

Contrary to the documentation, leaving out the `with` method would result in an
expectation that the action be called without a message.

This change adds a special case to `#with` so that calling `#with(message: :any)`
ends up setting an expectation that the SOAP action be called, but
without caring about the actual message sent to the action.

This way the following will pass:

    savon.expects(:authenticate).with(message: :any)
    client.call(:authenticate)
    client.call(:authenticate, message: { username: "luke", password: "secret" })
Merge pull request #447 from koppen/feature/stubbing

Allow Savon mocks to receive any message. Closes #402
add back #soap_fault/#http_error readers to Response

These two methods were removed in the big refactoring for the major release.
Add them back since they are the only API to access the errors when the client
is configured with `:raise_errors => false`.

Fixes #450
Merge pull request #450 from pigoz/errors_attr_readers

Missing getters on Savon::Response soap_fault/soap_error
added gittip badge to the readme [ci skip]
added attribution to the noun project [ci skip]
fixed noun project link [ci skip]