admin: Refactor code structure

The current code structure was leading to circular imports of the files
that are responsible for each entity. To solve this, we must break each
of those files to smaller pieces.

The pieces that each of the files are broken into are:

* views: The functions that implement the views for each entity.
* actions: The functions that have to do with the actions on each
  entity.
* filters: The functions that have to do with filtering.
* utils: Auxiliary functions.

With the new structure, the users' views can import the vms' actions and
the vms' views can import the users' actions without worrying about
circular imports.
Merge branch 'feature-admin-refactor' into feature-admin