Allow multiple roles and fix project_list

This change includes:
 - assignment of multiple roles for a given project;
 - fix project_list when roles are assigned with this module;
 - takes roles, project and domain parameters from keystone
   configuration rather than using hardcoded values.
I think it would be better style to write `if not self._default_roles` here instead.