Properly handle backend add.

* validate backend before adding,
* warn with proper msg if failed backend already added
Fix add_backend user handling.

We need to make sure that the user dict is updated before validating.
The same stands for removing the backend after checking that libcloud
cannot connect.
fix backend button positioning
Merge branch 'staging'
Merge branch 'master' into tests_api
Add larger range for randomly generated names

AND:
Added better handling of Test generated keys