Fixed unit tests for Android and iOS linters

Summary:
Unit tests for Android linter mysteriously started working. All I did was uncomment it.
Changed oclint.sh to point to iOS 7.0 SDK. Updated readme to match.

Test Plan: Run `arc lint`.

Reviewers: mbishop

Reviewed By: mbishop

CC: ablackwood

Differential Revision: https://devportal.imobile3.com/D5099
xctool bump
Minified file exclusion support

Summary: Files that end in `.min.js` or `.min.css` should be excluded from linting as they are generated.

Test Plan: View unit test results or run the two new included tests.

Reviewers: jmillard

Reviewed By: jmillard

CC: kspearrin

Differential Revision: https://devportal.imobile3.com/D5444
Fixed Android unit testing issue with APK installation

Summary: APKs were occasionally not getting installed. Apparently `exec_manual()` adds quotes around the `%s` strings, so it was quoting an entire switch like this: `adb '-s 123456789' install ...`. Now, it does this: `adb -s '123456789' install ...`. Also adjusted the login to determine when APK installation fails and the login that waits for a device if no device is plugged in.

Test Plan:
# Uninstall all app and test packages from a device for a project.
# Run `arc unit` on that Android project with a device plugged in.
# Uninstall packages again
# Run `arc unit` again with a device unplugged. Plug it in when prompted.

Reviewers: mbishop, mportune

Reviewed By: mbishop

Differential Revision: https://devportal.imobile3.com/D5511
Fixed iOS attempting to run Anroid unit tests

Summary: The logic that determined whether the Android unit tests needed to run was incorrect. Added an additional check around the entire Android unit test block in the mobile unit test engine to ensure that it doesn't get run unless there are actually Android tests to run.

Test Plan: Run `arc unit` on an iOS project with ArcanistMobileUnitTestEngine added. Ensure that no adb things try to run.

Reviewers: mbishop

Reviewed By: mbishop

CC: nrimer

Differential Revision: https://devportal.imobile3.com/D5708
Fixed "p" prefix

Summary: The Android linter was enforcing the "p" prefix on all non-public classes. It's now only being enforced on nested classes like it should be.

Test Plan: View updated unit test cases.

Reviewers: mbishop, jstarke, mportune

Reviewed By: mbishop

Maniphest Tasks: T3591

Differential Revision: https://devportal.imobile3.com/D5859
Bump xctool to v0.1.14
Fixed linting on new arc version

Summary: No idea how an `arc upgrade` broke this. There might be some kind of weird file sandboxing going on.

Test Plan: Run `arc lint` on an Android project.

Reviewers: mbishop

Reviewed By: mbishop

Differential Revision: https://devportal.imobile3.com/D7839
Android unit test and .NET linter fixes

Summary: The Android unit tester and .NET linter are suffering the same odd problem as the linter. Fixed now.

Test Plan: Run an Android unit test. Lint a .NET project.

Reviewers: mbishop

Reviewed By: mbishop

Differential Revision: https://devportal.imobile3.com/D7844
OCLint test update

Summary: We don't use OCLint for line length checks anymore because our mobile lint engine takes care of it. Removes the tests for line length.

Test Plan: Run `arc unit`, note tests are gone.

Reviewers: ablackwood

Reviewed By: ablackwood

Differential Revision: https://devportal.imobile3.com/D7908
Copyright updates
ReSharper linter improvements

Summary: Optimizes the execution of the ReSharper linter. Processing of the solution file is now contained within the linter and paths are passed to the linter from the engine(s) in a more standard way. The linter itself will resolve which ReSharper results actually apply to modified files and only present those as messages. Also bumped to require ReSharper 8.1.

Test Plan: Execute a diff with C# or VB files and note relevant messages. This will still find quite a bit of detail.

Reviewers: jmillard

Reviewed By: jmillard

CC: bmiano, izimin, dhaney, kspearrin

Differential Revision: https://devportal.imobile3.com/D7906
[OCUnit] Allow custom unit test targets
[OCUnit] Use xctool-args and improve .ocunit-config
[OCUnit] Update readme and rm unnecessary xctool-args usage
[unit] Add basic lint engine for Objective-C
Use Phabricator

Summary:
Previously, I was just pushing stuff directly to origin/master.
I see we have a phabricator repository set up for Cassowary now, so let's make
`.arcconfig` work with that.

Test Plan: Run `arc diff` and see a diff get created!

Reviewers: bobo, edmond

Reviewed By: bobo

Differential Revision: https://phabricator.chronosresearch.com/D70
[filenames] Create a separate filename linter

Summary:
We were using the ArcanistFilenameLinter, but it rejected plus signs
in filenames. This is legit in objective-c filenames, so we should just use
our own filename linter. Using this approach instead of extending the ArcanistFilenameLinter
because it's a final class.

Test Plan: arc lint something+somethingelse.h and see that there are no lint errors.

Reviewers: bobo, vlad

Reviewed By: bobo

Maniphest Tasks: T701

Differential Revision: https://phabricator.chronosresearch.com/D80
Updated .arcconfig to point to new phabricator URL at robinhood.com
[xctool] Pull latest changes to xctool for xcode 5.1 compatibility

Summary:
xctool was broken in xcode 5.1. The most recent changes merged today
fix the build so it'll work for unit tests just like it did before.

Test Plan:
Run `arc unit` in a project that uses cassowary, and see the
build succeeds and unit tests actually run.

Reviewers: edmond, bobo

Reviewed By: bobo

Differential Revision: https://phabricator.robinhood.com/D588