CRUD for filters
Add taxonomies to filters
Permission evaluation logic refs #3804
Autocompleting search field in filter form
WIP

Hosts authorization
Fact values authorization
Roles cleanup
Still missing link_to authorization
Fixes controller authorization
Fixes autocomplete search bar JS
Fixes unlimited filters setting
WIP New permissions

Implemented base collection filter in authorizer so we can limit queries
just to records to be listed e.g. Support for not-granular resources in
filter form (AuthSource). Modified link helpers to support new
permission system.

Converted:
- architectures
- audits
- auth_source
New permissions for SmartProxy
New permissions for CommonParameters

... and partly other Parameters
New permissions for ComputeResources and vms
New permissions for ConfigTemplate
New permissions for Domains and Environments
New permissions for Hostgroup
New permissions for Host
New permissions for Image, LookupKey, Puppetclass
New permissions for Medium, Model, Operatingsystem
Backported fix from #1129

Can be skipped after rebase
WIP New permissions for Ptable, Puppetclass, Report
New permissions for Subnet, Usergroup and User
Adapt test for new authorization system

Migrate setup_user methods to use filters. Also DRY up custom setup_user
methods in various tests. Remove tests for removed methods in role.
Remove authorization unit tests

This removes all authorization unit tests. From now on authorization is
not handled in models. Model does not have enough information to check
it anyway, e.g. when you clone some resource a clone permission should be
enough. On model level you just know that someone is trying to create a
record so you check for create permission which is wrong.

If we ever wanted to add similar check we would write these tests
differently anyway. These tests were completely unDRY. We would write a
module (similar to Authorization module that is being removed) and cover
this module by tests. Then we would only make sure that all models
include this module. Checking of module functionality in every model
seems as huge amount of duplication.

Since permissions are not enforced on model layer, writing unit tests
should be much easier from now on. You don't have to setup different
models to test just one class (which is the key for unit tests)