Clang fixes

This fixes a few bugs I've encountered when running on osx and using a clang compiled Ruby.  The most surprising one was the missing return statement, I'm have no idea how/why gcc allowed that.

I've made several other changes as well:  https://github.com/nathanstitt/cups/compare/m0wfo:master...master and will be submitting pull requests for them separately.  

As always - I'll be glad to rework if you'd like something done differently.

Thanks again!