s/Inputfilter/InputFilter/

- For consistency with the component
Updated test expectations of InputFilterController

- Updated test expectations. Expected:
  - /inputfilter is a collection, and expects GET and POST requests. The
    payload will be an array of named input filters.
  - /inputfilter/:input_filter_name is a single named input filter, and
    expects a GET, PUT, or DELETE request. The payload will be a
    complete input filter specification.
  - HalJson will be returned; as such, set the "payload" property of the
    view model.
Updated expectations of InputFilter model

- Return InputFilter entities, or arrays of InputFilter entities.
- InputFilter entity should likely implement ArrayObject
Implemented expected behaviors for InputFilter model

- Per tests (though some tests needed refactoring once implementation
  was understood)
Implemented updated behaviors for InputFilterController

- Ensured:
  - /inputfilter returns a collection, and POST to it creates and
    returns a named input filter
  - /inputfilter/:input_filter_name returns a named input filter, and
    allows updating and deleting.
- Updated logic in InputFilterModel::addInputFilter to use patchKey()
  method to ensure overwrites of the config work correctly.
Prepare for HAL payloads

- HAL payloads require an identifier in the returned resource.
- Updated tests to reflect change.
- One problem: using the same type in payloads for two different routes!
CS fixes

- trailing whitespace
Ensure fallback content negotiation is to HAL
Cast results to HAL Resource and Collection objects
Merge branch 'hotfix/inputfilter-collection'

Updates InputFilter API to do the following:

- /inputfilter endpoints are collections, and you may GET or POST to them only.
- /inputfilter/:input_filter_name will return a named input filter, and allow
  you to PUT or DELETE to it.
- The service is now represented as HAL.