[api] support to use a different project for repositories on branching.

This allows for example to build maintenance updates always against :GA projects instead
of :Update by default. Fate #308788
[api] create secret key during rpm package installation and use it.

It was only created on the appliance before.
[api] ensure existins of "deleted" project and repository on update
[ci] create secret.key file
[api] fix testcases for new attribute
[api] accept missing secret.key file in test environment and use hardcoded "secret"
[api] test HTML in the API
[api] move webui as into api engine
[webui] rename project to WebuiProject

Makes it easier to grep for it
[api] move the rails script into the rails4 bin/ folder

My IDE won't detect the project as rails4 otherwise
[webui] remove the first webui model: StatusMessage
[webui] remove first webui/ controller in the API

It's just one AR call now
[webui] merge Webui::Role into Role

It was just a namespace anyway
[webui] fetch latestupdates right from the database instead of API hop

This looses caching for now, but we can cache better in the API anyway
[webui] use the package model directly to save roles

Fortunately the models already check for permissions
[webui] calculate the worker status directly in the API
[webui] fix test cases

- take out some more caching (for now, to be readded in the models where
  it's sane)
- fix flags validation
- redo the travis split
- use truncation for database cleaner

(and due to rubymine insisting replace "" with '' where no escaping is
necessary)
[api] retire webui/relationships controller
[webui] calculate project#list_all right in the webui
[webui] move the rest of the webui/projects_controller