Fix endpoint URLs, extract Ceilometer

We had public/private addresses mixed up in keystone service endpoint catalog, which is now fixed.

Here's output of `keystone service-list; keystone endpoint-list`. (`.122.` is private network, `.123.` is public.)
before fix: http://fpaste.org/44308/8927721/raw/
fixed: http://fpaste.org/44309/80892809/raw/


Ceilometer parts are extracted from controller classes into a separate class to reduce duplication and size of the controller classes.