Refactor tests to keep the folder structure of the project

I'd like to get the tests in better shape so that it becomes natural to add tests for any piece of agent functionality. One step for this to feel more natural is to have the test filepath mirror the code filepath. 

This PR just moves test into the appropriate spot in the filepath. Going forward, I'm going to try to add tests when I touch a piece of functionality and over time they'll be good coverage.