Exception handling changes for Payroll API.

Sometimes, the Xero Payroll API does not return
XML responses, so we need to have some custom
handling for these times.

Also, when we don't correctly supply the scope,
we see the same issue on 401s.
Payroll: Allow passing scope to PublicCredentials.

When using the Payroll API, you are required to supply
the 'scope' argument to select which parts of the API you
will require access to.

This is not 100% simple, as it requires them in a comma-
separated list, but urlencoding this was problematic.

The 'FULL_API' feature is not yet complete.
Add Payroll API support.

We have several new datetime and date fields, as well as some
boolean and multi-line fields. Added a comment about what a
multi-line field is, for clarity.

Since the Payroll API uses a different endpoint, we need to be
able to change this. Passing it in when constructing the Manager
seems a reasonable solution.
Add Payroll API support.

Add the URL endpoint, and the list of object types.

Note there is a change to the 'Organisation' object list,
as the API is inconsistent here, and this was the only
way to actually get at the data.

This is incomplete: I'm still in the process of developing
against this API, so haven't really tested the access of objects
other than Employees, PayrollCalendars.