[Tests] Refactoring Test Projects

- Broke app + data layer tests into separate assemblies.
-- This is because I'd like to eventually port unit tests to their own individual assemblies and put integration ones where they make sense.
- Kept around a base testing assembly for sharing things like categories or any other helper methods that might come up for testing.