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