Wrap all calls returning `IoResult<()>` in `try!()`

If any one of these calls errors out, `fn generate()` will abort early
and bubble up the error to main.

Otherwise an Ok<()> will be sent to main.
Use `try!` macro to bubble up errors from keycode source generator.

Errors will be trapped in `main` and are considered fatal.
Consume result in `wf!` macro, considering write errors to be fatal.
(Use consistent variable names when matching IoResults)
(Use IoResult instead of bare Result)
Suppress warnings about visible private types
Merge pull request #56 from drbawb/exp/cleanup-warnings

Cleanup Warnings
`std::vec_ng` moved to `std::vec` in rust@master

(The old `std::vec` stuff is now in `std::slice`)
Merge pull request #57 from drbawb/exp/vec_ng-moved

`std::vec_ng` moved to `std::vec` in rust@master
Unknown mouse states now get collected into handy enum variants that wrap the unknown value (which I believe might be platform specific, so we can't give them sensible names). This fixes #47
Merge pull request #58 from AngryLawyer/47-wrap-mouse-fixes

Unknown mouse states handled
removal of eq in TotalEq in rust@master
Merge pull request #59 from zach297/master

removal of eq in TotalEq in rust@master
fix 'make demos' typo in README; 'demos' is not a target in the Makefile
Merge pull request #60 from zach297/demos

fix 'make demos' typo in README; 'demos' is not a target in the Makefile
Add TotalEq to KeyCode to make it hashable
Merge pull request #61 from jmmk/keycode-totaleq

Add TotalEq to KeyCode to make it hashable
Fix Makefile's attempt to infer value for SDL_MODE.

The `ifeq` check does not work without surrounding double-quotes if
SDL_MODE is unset.
remove outdated Vec imports
Allow deriving(Eq) for individual cases using raw pointers.