remove unnecessary use statement
refined the exceptions by introducing two new exception classes, one of
which has a custom constructor and a getData() method which exposes the
optional "data" part of error objects in response (fixes #7)
rename the base exception class to BaseException to match the naming
scheme for request objects
created a generic base client and an interface for client
implementations (fixes #10).

Also dropped the JSON_RPC_VERSION constant.
fix docblock
factored out some repetitive code to a separate method
Split commonalities between Notification and Request into a new
SingleRequest class and implement the JsonSerializable interface for
better serialization control.
added PHP version requirement to composer.json
use tabs instead of spaces in composer.json
added support for batch requests (fixes #11)
move response classes to a separate namespace