Fix differential.getdiff, etc., for diffs with no Arcanist Project
Summary:
getArcanistProjectName() has some logic which gets messy with the self::ATTACHABLE mechanism. This makes differential.getdiff and similar Conduit methods throw an exception when querying a diff which doesn't have a project. See http://pastebin.com/Czzrd0Jz.
Instead, unconditionally attach a project (possibly null) when loading diffs if they need projects.
Test Plan: Ran differential.getdiff against a arc diff --raw diff with no project, got a result instead of an exception.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, sttwister
Differential Revision: https://secure.phabricator.com/D7101