Fixed follow behavior, changed data access layer, and made Compose Post work

Now you can follow another user, and the lists on each user's profile will display properly.

I revamped the way that follow activity is stored and accessed (it will be in its own table instead of mushed in with the users table), as well as how users are accessed in the database. e.g. when finding all posts by a user, pass in the username as an argument, not a user object.

I also enabled the route that allows a user to compose and upload a post, and the user's posts will display on his or her profile.