Use a (mostly) hermetic Python interpreter

It still requires python to be installed on the host to run the wrapper
scripts, but it's close to being fully hermetic.

This also requires/enables the following changes, unfortunately all at
the same time:
 * Use a downloaded f2py
 * Use a downloaded scipy/numpy/matplotlib
 * Fix a few things that don't run with the python version in their #!
 * Stop using bazel-generated __init__.py files, because those interfere
   with importing matplotlib nicely

Change-Id: Ife280464613d67cece9587b7d947f0b1d5466d7e
diff --git a/frc971/control_loops/BUILD b/frc971/control_loops/BUILD
index 4951d86..7c39a85 100644
--- a/frc971/control_loops/BUILD
+++ b/frc971/control_loops/BUILD
@@ -68,14 +68,14 @@
     hdrs = [
         "position_sensor_sim.h",
     ],
+    linkopts = [
+        "-lm",
+    ],
     deps = [
         ":gaussian_noise",
         ":queues",
         "//aos/testing:random_seed",
     ],
-    linkopts = [
-        "-lm",
-    ],
 )
 
 cc_library(
@@ -114,13 +114,13 @@
     hdrs = [
         "coerce_goal.h",
     ],
+    linkopts = [
+        "-lm",
+    ],
     deps = [
         "//aos/common/controls:polytope",
         "//third_party/eigen",
     ],
-    linkopts = [
-        "-lm",
-    ],
 )
 
 # TODO(austin): Select isn't working right.  We should be able to remove
@@ -257,3 +257,10 @@
         "@slycot_repo//:slicot",
     ],
 )
+
+py_library(
+    name = "python_init",
+    srcs = ["__init__.py"],
+    visibility = ["//visibility:public"],
+    deps = ["//frc971:python_init"],
+)