[refactor] breakdown of proxy api classes

the proxy api had many classes in a single file, this commit simply break it down
Enforce hostgroup/role uniqueness on User relation
fixes #2263 search Hostgroup by label
continuation of fixes #2254 - STI Host relationships