This prevents an error where the python2 version of the SDK tries to
use the monotonic library which is unable to detect the host operating
system inside the sandbox - exploding in typical python fashion.
By using python3 it obviates the need for the monotonic dependency by
using the builtin time.monotonic call.
This also sets -l (lite boot) by default for boot-fake-ship to speed
up the initial pier creation used by pills/tests, and uses
urbit.meta.arguments by default for tests - seems a little less likely
to footgun.
This also removes nixcrpkgs and OSX cross compilation in favour of
compiling on the target. x86_64/musl targets are still supported
on Linux.
All sources are now managed via niv (see nix/sources.json) and Haskell
package sets are provided/organised via IOHK's haskell.nix.
Some effort has been made to expose similar top-level attributes for
development, but in some cases there have been changes. Please see
the comments in the top-level default.nix and ci.nix files for usage.