Remove unused member variable.
ARM: whitespace

Whitespace fix, NFC.
ARM: improve RTABI 4.2 conformance on Linux

The set of functions defined in the RTABI was separated for no real reason.
This brings us closer to proper utilisation of the functions defined by the
RTABI.  It also sets the ground for correctly emitting function calls to AEABI
functions on all AEABI conforming platforms.

The previously existing lie on the behaviour of __ldivmod and __uldivmod is
propagated as it is beyond the scope of the change.

The changes to the test are due to the fact that we now use the divmod functions
which return both the quotient and remainder and thus we no longer need to
invoke two functions on Linux (making it closer to EABI's behaviour).
ARM: mark missing functions from RTABI

Simply indicate the functions that are part of the runtime library that we do
not setup libcalls for.  This is merely for ease of identification.  NFC.
Use std::unique_ptr in a few methods that take ownership.
Create a std::unique_ptr earlier.

Thanks to David Blaikie for the suggestion.
Use the pointer-like API of ErrorOr.

Thanks to David Blaikie for the suggestion.
Use copy initialization to initialize std::unique_ptr.

Thanks to David Blaikie for the suggestion.
Repace SmallPtrSet with SmallPtrSetImpl in function arguments to avoid needing to mention the size.
Repace SmallPtrSet with SmallPtrSetImpl in function arguments to avoid needing to mention the size.
Revert "Repace SmallPtrSet with SmallPtrSetImpl in function arguments to avoid needing to mention the size."

Getting a weird buildbot failure that I need to investigate.