Add some tests for project model code
Fix tests failing due to userName->username rename

Here the failing test isn't due to a bug in the code, it's just
due to an API change (we renamed the member variable). So
even though usually the answer to "the test fails" should NOT
be "change the test", this time it's the right thing to do.
Add test for PHP object-orientation bugfix

This test exercises the bug that I fixed a couple days ago with
commit e6385af5275e80b75089a492fba64e1e18422e25. If you
revert that commit in your local git repo, this test will start to
fail as users get put into the projects collection (or vice versa
if you just swap the order of the two require statements). But
if that commit is applied in your local git repo, the test passes.