Move Rust symbols required by C++ to a separate Buck target

Closes #168.
diff --git a/src/symbols/exception.rs b/src/symbols/exception.rs
new file mode 100644
index 0000000..849db3b
--- /dev/null
+++ b/src/symbols/exception.rs
@@ -0,0 +1,8 @@
+use std::slice;
+
+#[export_name = "cxxbridge03$exception"]
+unsafe extern "C" fn exception(ptr: *const u8, len: usize) -> *const u8 {
+    let slice = slice::from_raw_parts(ptr, len);
+    let boxed = String::from_utf8_lossy(slice).into_owned().into_boxed_str();
+    Box::leak(boxed).as_ptr()
+}