Improve the C++ libcdd wrapper

 * Tests!
 * It now pre-calculates vertices, because we always do that at least
   once and it makes the next thing easier.
 * Support directly transforming vertices in the form the control loops
   do to avoid libcdd weirdness with some transformed ones.
 * Drop broken error-handling which just resulted in an Eigen assertion
   instead of actually printing out the error.

Change-Id: I2b184011d78b7479d5c14409b946a5f0b1c2bf3c
diff --git a/aos/common/controls/BUILD b/aos/common/controls/BUILD
index 5bb31fb..9cc6f31 100644
--- a/aos/common/controls/BUILD
+++ b/aos/common/controls/BUILD
@@ -40,6 +40,22 @@
   deps = [
     '//third_party/eigen',
     '//third_party/cddlib',
+    '//aos/common/logging',
+    '//aos/common/logging:matrix_logging',
+  ],
+)
+
+cc_test(
+  name = 'polytope_test',
+  srcs = [
+    'polytope_test.cc',
+  ],
+  deps = [
+    ':polytope',
+    '//aos/testing:googletest',
+    '//third_party/eigen',
+    '//third_party/googletest:googlemock',
+    '//aos/testing:test_logging',
   ],
 )