fixed bug on Method constructor and added tests

A few of the changes:
* Fixed the bug on the Method constructor
* Added a few tests for the Method class
* Moved all the full path objects used in the body of methods to an use statement
* Removed unused properties in the Method class (header and protocols)

I think we should type hint the method parameters whenever possible, but a test fails if I do so on the $body parameter of the Response constructor, seems we pass a string, not consistent with the docs.