Task:Single sign-on/UserManagement-API

/transactions/list/?since=UUID
Returns array of transactions, which happened later then UUID specified. Possible reply:

[       {   "uuid":"00000000-0000-0000-C000-000000000046", "action":"create", "timestamp":"2009-08-04T00:07:12+04:00", "data":{ "uuid":"00000000-0000-0001-C000-000000000046", "login":"maemo", "email":"maemo@example.com", "firstname":"N", "lastname":"810", "foo":"bar" }       },        {   "uuid":"00000000-0000-0000-C000-000000000047", "action":"update", "timestamp":"2009-08-04T00:07:13+04:00", "data":{ "uuid":"00000000-0000-0001-C000-000000000047", "login":"johndoe", "email":"johndoe@example.com", "firstname":"jonn", "lastname":"doe", "foo":"bar" }       },        {   "uuid":"00000000-0000-0000-C000-000000000049", "action":"delete", "timestamp":"2009-08-04T00:07:22+04:00" }   ]

/user/?param=value
For example:

/user/?uuid=00000000-0000-0000-C000-000000000046 /user/?login=maemo /user/?email=maemo@example.com

These return [false] or array of single user's data:

{       "uuid":"00000000-0000-0001-C000-000000000047", "login":"johndoe", "email":"johndoe@example.com", "firstname":"jonn", "lastname":"doe", "foo":"bar" }

/user/
Create user

Expects array with user-data as request-body

Returns [UUID] or [false]

/user/?uuid=UUID
Update user whose UUID matches

Expects array with user-data as request-body

Returns [true] or [false]

/user/?uuid=UUID
Delete user whose UUID matches

Returns [true] or [false]

Implementation details
User-management service will be powered by Midgard-2 technology. Data will be represented by objects of 2 types:
 * User
 * UUID
 * login
 * firstname
 * lastname
 * etc. … (see Task:Single_sign-on/Account_info_stored_in_ldap for more details on user-fields)
 * Transaction
 * UUID
 * timestamp
 * action (can take values: create, update, delete)
 * User's UUID