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