fix build by adding semicolons to macros; deal with copy warning lint

I'd like to fix this for real by using the latest `rust-bindgen` which outputs `#[deriving(Copy)]` directives, but my current rustc nightly is busted (hitting https://github.com/rust-lang/rust/issues/20127), so it'll be a day or two.