ILL: implement architecture, adapt existing mods.

The new architecture is is hierarchical: REQUESTS is the entry point,
which returns REQUEST objects. REQUESTs consist of STATUS and RECORD
objects, which in turn are built using ABSTRACTILL and database
structure.

* Koha/ILL/AbstractILL.pm: new file.
* Koha/ILL/Record.pm (create_from_xml): don't populate with Status
  defaults.
  (_populate_defaults): remove.
  (create_from_store): new name for `retrieve_from_store'.
* Koha/ILL/Request.pm (new) (save) (status) (getSummary) (update)
  (seed_from_api) (seed_from_store): new procedures (`status', `update'
  are placeholders; save is WIP.
* Koha/ILL/Requests.pm (new) (search_api) (request)
  (retrieve_ill_requests) (retrieve_ill_request): new procedures.
* Koha/ILL/Status.pm: new file.
* Koha/Service/ILL.pm: use new architecture.
  (search): use Koha::ILL::Requests for api & borrower searches.
* ill/ill-requests.pl: rewrite to use new architecture; abolish old
  style.
* koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt: ibid.