MT#3929 certificate management
MT#3927 custom auth
wip
MT#3927 Invalidate session in API for non-API user
MT#3925 Add documentation framework for API.

Render api/ content dynamically via api/root/ templates, which allows
for splitting up collection descriptions.

Update jquery-ui to include more components like accordions.
MT#3925 Manually re-merge API doc changes.
MT#3925 Add main header and vim trailer.
MT#3925 Style and reorganize API templates
MT#3925 Basic styling for printing API docs.
MT#3925 Make API work with LWP::UserAgent.

First, properly "use" the Deflate module to import the Encoder stuff.
Second, disable Transport Encoding middleware entirely, as with "chunked"
responses sent by the API an LWP::UserAgent client is unable to properly
decode the response, resulting in broken binary answers.
MT#3925 Add example PHP API client to sandbox
MT#3925 Extend API documentation (Auth, styling).
MT#3925 Show API item properties from json via JS

In the root/ document, show the resource properties in a list using
jquery, instead of including the whole json as text.
MT#3925 Use forms for validation only; other fixes

Don't use JE for data validation, as it adds lots of processing overhead.
Properly use Formhandler for data validation.
Catch DB errors properly.
Write basic auth test.
MT#3925 Move POST validation methods into Role.
MT#3925 Migrate more common methods into Role.
MT#3925 Move contracts/ to Role, tighten contacts/

Use Role for Contracts controller.
Check reseller_id in Contacts controller for creating contact.
MT#4007 Implement auto attendant mgm for subs.
MT#4413 Remove debugging messages.

This even breaks domain creation for PBX.
MT#3977 Fix ACL for fetching keys of dev profile.

Also subscriberadmin must be able to access this part for proper
line/key selection.