Allow providing arbitrary headers to HalClient to send with every request

- Maintain existing accept: and content_type: options to
  HalClient#initialize
- Continue to not send Content-Type header with the GET requests.  Other
  known POST-only headers are not blacklisted however.
Add missing tests and fix bug regarding get header overrides

- Also add a line of docs about hal_client headers option
Bump minor version from 2.4.0 -> 2.5.0
bump minor version