status: add more complete tests for --rev

The 'status --rev' code is not very well tested, which has bitten us
as recently as in issue4321. Let's add some more tests, some of which
uncover bugs. Remove the few existing tests that are now covered in a
more thorough and consistent way.
largefiles: replace repo._isaddremove hack with a simple function parameter
largefiles: remove confusing rev parameter for lfdirstatestatus

Dirstate only works on the repo wctx.
largefiles: the update override only needs lfdirstate and status for --check
largefiles: move initialization of standins variable to clarify its "scope"
ssl: only use the dummy cert hack if using an Apple Python (issue4410)

The hack for using certificate store in addition to the provided CAs resides in
Apple's OpenSSL. Apple's own Pythons will use it, but other custom built
Pythons might use a custom built OpenSSL without that hack and will fail when
exposed to the dummy cacert introduced in d7f7f1860f00.

There do not seem to be a simple way to check from Python if we are using a
patched OpenSSL or if it is an Apple OpenSSL.

Instead, check if the Python executable resides in /usr/bin/python* or in
/System/Library/Frameworks/Python.framework/ and assume that all Pythons found
there will be native Pythons using the patched OpenSSL.

Custom built Pythons will not get the benefit of using the CAs from the
certificate store.
largefiles: inline redundant inctx function in status
largefiles: inline redundant toname function in status

Simpler and an optimization.