Add the webhook service and a webhook_diff assistant

Signed-off-by: David Greaves <david.greaves@jolla.com>
Refactor the boss launch functions out to allow them to be used in the model

Signed-off-by: David Greaves <david.greaves@jolla.com>
Refactor the handle_tag function to become a method to enable WebhookMapping.trigger_build()

Signed-off-by: David Greaves <david.greaves@jolla.com>
Rename lsr to avoid confusion with the readonly dynamic attribute
Return a message from handle_tag() so it can be used by /trigger API call

Signed-off-by: David Greaves <david.greaves@jolla.com>
Add WebhookMapping.trigger_build()

Signed-off-by: David Greaves <david.greaves@jolla.com>
Add a /trigger ability via a PUT method

Signed-off-by: David Greaves <david.greaves@jolla.com>
Update spec to support webhook service and add dependency on lxml and (for Suse) python-South

Signed-off-by: David Greaves <david.greaves@jolla.com>
Add a webhook creation script: wh <project> <package> <git repo> [<branch>]

Signed-off-by: David Greaves <david.greaves@jolla.com>
Verify Project restrictions when handling incoming payloads; not just at validation

Signed-off-by: David Greaves <david.greaves@jolla.com>
Add some explanatory text for Projects

Signed-off-by: David Greaves <david.greaves@jolla.com>
Add migration for uniqueness constraint
Add cibot management to wh