stabilizing tests after breaking updates

- fix broken controllers by modifying namespaces.
- add more tests for changed computations.
- drastic performance improvement by shrinking database queries for situations like adding multiple tags, adding images, deleting images, etc. Any query affecting multiple rows basically, also applies to fetching multiple records as well.
- better organization for routes.
- follow convenience better.