Allow "X-HTTP-Method-Override" in request.

Client may send a POST request, but override the method to newer methods (e.g. PATCH, PUT).
Merge pull request #138 from Gizra/137

Allow "X-HTTP-Method-Override" in request.

Client may send a POST request, but override the method to newer methods (e.g. PATCH, PUT).
Add \RestfulInterface::publicFieldsInfo() for declaring fields.

Use \RestfulInterface::getPublicFields() to get the processed fields (i.e. with default values initiazlied).
Merge pull request #135 from Gizra/public-fields

Add \RestfulInterface::publicFieldsInfo() for users to declare their fields.

Also rename 'process_callback' to 'process_callbacks' and allow it to pass the value to multiple callbacks.
Fix README to indicate the correct use of RestfulEntityBase::publicFieldsInfo().
Allow pluggable output formats.

Fixes #127.
Allow filtering the query for list.
Issue #139: Fix count and pagination.