Work around breaking change in gcc crate
Work around breaking change in gcc crate

The gcc crate, a transitive dependency of rust-crypto, recently released
a new version that breaks compatibility with Rust 1.4 through 1.6.
Because no major version bump was done, Cargo will prefer the more
recent version when no Cargo.lock is present. This is the case on CI, so
the builds are failing for Rust 1.4 through 1.6, even though they would
build fine with an older gcc crate.

To work around this, add an explicit dependency on gcc, locked to the
non-broken version. Because gcc is only a dependency of rust-crypto
which is a dev-dependency, gcc can be added as a dev-dependency too, so
this will not affect crates that depend on Filebuffer, fortunately.

For reference, the reason gcc is broken is because code was introduced
in [1] (commit 5f97af47013607521b70cb254a1b581cde2310a0) that uses the
function String::as_str, which was only stabilized in Rust 1.7.0.

[1]: https://github.com/alexcrichton/gcc-rs/pull/106

ruud-v-a/filebuffer,ruuda/filebuffer