Fix "empty diff" error in arcanist
Fix "empty diff" error in arcanist

Summary: Ref T2296. This error is unreachable right now -- when I fixed all the "\r\n" stuff, we always end up with a nonempty first line for an empty input. Do this test earlier and more explicitly. This results in a less useful error: "expected (some junk) on line 1" instead of "can't parse an empty diff".

Test Plan: Tried to parse an empty diff, got a "you can't parse an empty diff" error.

Reviewers: btrahan, vrana, codeblock

Reviewed By: codeblock

CC: aran

Maniphest Tasks: T2296

Differential Revision: https://secure.phabricator.com/D4370

coursera/arcanist,eSpark/arcanist,uber/arcanist,kevinseelbach/arcanist,wikimedia/phabricator-arcanist,Symplicity/arcanist,PageUpPeopleOrg/arcanist-patches,alexmv/arcanist,jra3/arcanist,wharris/arcanist,fivestars/arcanist,r4nt/arcanist,julkiewicz/arcanist,calblueprint/arcanist,kevinseelbach/arcanist,fivestars/arcanist,julkiewicz/arcanist,calblueprint/arcanist,sneakpeeq/arcanist,coursera/arcanist,folsom-labs/arcanist,wikimedia/phabricator-arcanist,wxstars/arcanist,phacility/arcanist,jra3/arcanist,chundongwang/arcanist,kevinseelbach/arcanist,wharris/arcanist,dguo-coursera/arcanist,haskell-infra/arcanist,sneakpeeq/arcanist,fivestars/arcanist,Khan/arcanist,alexmv/arcanist,jra3/arcanist,phacility/arcanist,dguo-coursera/arcanist,fivestars/arcanist,hach-que/arcanist,codelabs-ch/arcanist,Khan/arcanist,uber/arcanist,wxstars/arcanist,Khan/arcanist,wikimedia/phabricator-arcanist,kevinseelbach/arcanist,zhihu/arcanist,zhihu/arcanist,KieranHayes/arcanist,alexmv/arcanist,dguo-coursera/arcanist,zhihu/arcanist,wxstars/arcanist,memsql/arcanist,sneakpeeq/arcanist,chundongwang/arcanist,wxstars/arcanist,hach-que/arcanist,uber/arcanist,Symplicity/arcanist,haskell-infra/arcanist,folsom-labs/arcanist,eSpark/arcanist,Symplicity/arcanist,memsql/arcanist,aik099/arcanist,aik099/arcanist,alexmv/arcanist,chundongwang/arcanist,codelabs-ch/arcanist,Symplicity/arcanist,r4nt/arcanist,phacility/arcanist,eSpark/arcanist,julkiewicz/arcanist,codelabs-ch/arcanist,hach-que/arcanist,haskell-infra/arcanist,KieranHayes/arcanist,calblueprint/arcanist,KieranHayes/arcanist,uber/arcanist,Khan/arcanist,chundongwang/arcanist,sneakpeeq/arcanist,jra3/arcanist,coursera/arcanist,wharris/arcanist,aik099/arcanist,eSpark/arcanist,calblueprint/arcanist,phacility/arcanist,julkiewicz/arcanist,wharris/arcanist,r4nt/arcanist,coursera/arcanist,KieranHayes/arcanist,folsom-labs/arcanist,r4nt/arcanist,hach-que/arcanist,wikimedia/phabricator-arcanist,dguo-coursera/arcanist,haskell-infra/arcanist,aik099/arcanist,PageUpPeopleOrg/arcanist-patches,PageUpPeopleOrg/arcanist-patches,memsql/arcanist,codelabs-ch/arcanist,PageUpPeopleOrg/arcanist-patches,memsql/arcanist,zhihu/arcanist,codelabs-ch/arcanist,folsom-labs/arcanist,phacility/arcanist