Fix deprecation of raw *pointers

Convert all raw `*T` pointers to `const *T` pointers
Add Cargo.toml
Fill Cargo.toml authors and ignore Cargo.lock
make: Use --print-file-name instead of --crate-file-name
Update deprecated function calls
Fix an unnecessary_typecast warning
Annotate FFI structs with #[repr(C)]
Fix reply test comparisons to literal arrays
Build examples with cargo, and update their deprecations
Use Travis's native support for rust and cargo
cargo: squash examples doc/test
Switch to io::{USER_FILE,USER_DIR}
Use io::USER_FILE in tests too
Change most statics to consts

Only TEST_DATA is left as a static value for testing lifetime.