Fix bug where removing projects with assets fails

rrmdir() function needed to specify its own location when calling itself
recursively (i.e., $this->rrmdir() instead of rrmdir()). This would only
happen if the project's assets directory contained other directories, so
it never triggered before.
Merge remote-tracking branch 'lf/master' into feature/fileupload
re-factor tests to use Mock environment setup and cleanup.