Patches for Yosemite

This gets rippled going on Yosemite.

After upgrading you have to re-install command-line tools prior to building:
$ xcode-select --install

Tested on both Mavericks and Yosemite.  Passes Travis.
@josh-ripple @niq
Seems #undef is fine:
"You can also apply the #undef directive to an identifier that has no previous definition. "
http://msdn.microsoft.com/en-us/library/ts4w8783.aspx