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'