Rework of the Makefiles

A macro is now used to construct all of the targets, which
required re-writing most of rust.mk. Additionally, changes
were made to handle rustc now requiring --crate-type be passed
for libraries.
Update rust-crypto-tool to handle getopts being in its own crate and the IO refactoring to use the IoResult return type everywhere
Merge pull request #29 from DaGenix/fixups

Fixups to build system and to handle new stuff in Rust
Add in the Travis-CI build image to the README
Merge pull request #30 from DaGenix/build-image

Add in the Travis-CI build image to the README
Define the dependancy of rust-crypto-util using a variable
Merge pull request #31 from DaGenix/another-build-update

Define the dependancy of rust-crypto-util using a variable
Import to_{be,le}{32,64} from std::mem since they are now visible there
Fix fallout from Rust closure borrow changes
Merge pull request #32 from DaGenix/fixups

Fixups for recent Rust changes
Start using cmp::min now that num::min no longer exists
Use libserialize for Base64 encoding now that its moved there
Fix formatting on a comment
Merge pull request #33 from DaGenix/fixups

Fixups for recent Rust changes
Update to use the new 'extern crate' syntax
Rename all variables that had uppercase characters in their names to use lowercase instead
Merge pull request #34 from DaGenix/fixups

Fixups
Start using libtest where BenchHarness is now located
Merge pull request #35 from DaGenix/use-libtest

Start using libtest where BenchHarness is now located
Use uninit() from std::mem where it is now located