Move 2015-specific code to its own folder.

Known issues:
  -I didn't change the namespace for it, but I am open to discussion
   on doing that in a separate change.
  -There are a couple of files which should get split out into
   year-specific and not-year-specific files to reduce how much needs
   to get copied around each year still.
  -The control loop python code doesn't yet generate code with the
   right #include etc paths.

Change-Id: Iabf078e75107c283247f58a5ffceb4dbd6a0815f
diff --git a/y2015/prime/build.sh b/y2015/prime/build.sh
new file mode 100755
index 0000000..46cff40
--- /dev/null
+++ b/y2015/prime/build.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+cd $(dirname $0)
+
+exec ../../aos/build/build.py $0 prime y2015 prime.gyp "$@"
diff --git a/y2015/prime/compile_loop.sh b/y2015/prime/compile_loop.sh
new file mode 100755
index 0000000..de6b0d3
--- /dev/null
+++ b/y2015/prime/compile_loop.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+# Runs `build.sh all` and then waits for a file to be modified in a loop.
+# Useful for making changes to the code while continuously making sure they
+# compile.
+# Requires the util-linux and inotify-tools packages.
+
+chrt -i -p 0 $$
+ionice -c 3 -p $$
+
+while true; do
+	$(dirname $0)/build.sh all
+	echo 'compile_loop.sh: Waiting for a file modification...' 1>&2
+	inotifywait -e close_write -r aos frc971 bbb_cape
+	echo 'compile_loop.sh: Done waiting for a file modification' 1>&2
+done
diff --git a/y2015/prime/prime.gyp b/y2015/prime/prime.gyp
new file mode 100644
index 0000000..5a8b006
--- /dev/null
+++ b/y2015/prime/prime.gyp
@@ -0,0 +1,41 @@
+{
+  'targets': [
+    {
+      'target_name': 'All',
+      'type': 'none',
+      'dependencies': [
+        '../../frc971/frc971.gyp:All',
+
+        '../control_loops/drivetrain/drivetrain.gyp:drivetrain',
+        '../control_loops/drivetrain/drivetrain.gyp:drivetrain_lib_test',
+        '../control_loops/drivetrain/drivetrain.gyp:replay_drivetrain',
+        '../control_loops/fridge/fridge.gyp:fridge',
+        '../control_loops/fridge/fridge.gyp:fridge_lib_test',
+        '../control_loops/fridge/fridge.gyp:replay_fridge',
+        '../control_loops/claw/claw.gyp:claw',
+        '../control_loops/claw/claw.gyp:claw_lib_test',
+        '../control_loops/claw/claw.gyp:replay_claw',
+        '../autonomous/autonomous.gyp:auto',
+        '../y2015.gyp:joystick_reader',
+        '../http_status/http_status.gyp:http_status',
+        '../util/util.gyp:kinematics_test',
+        '../actors/actors.gyp:binaries',
+      ],
+      'copies': [
+        {
+          'destination': '<(rsync_dir)',
+          'files': [
+            'start_list.txt',
+          ],
+        },
+      ],
+      'conditions': [
+        ['ARCHITECTURE=="arm_frc"', {
+          'dependencies': [
+            '../wpilib/wpilib.gyp:wpilib_interface',
+          ],
+        }],
+      ],
+    },
+  ],
+}
diff --git a/y2015/prime/start_list.txt b/y2015/prime/start_list.txt
new file mode 100644
index 0000000..e4f0a8a
--- /dev/null
+++ b/y2015/prime/start_list.txt
@@ -0,0 +1,18 @@
+can_pickup_action
+joystick_reader
+pickup_action
+score_action
+stack_action
+wpilib_interface
+binary_log_writer
+claw
+fridge
+horizontal_can_pickup_action
+lift_action
+stack_and_lift_action
+stack_and_hold_action
+held_to_lift_action
+drivetrain
+auto
+drivetrain_action
+http_status