Move off of <base/safe_global>

Statics inside functions are well-defined in terms of initalization guarantees with C++11. Use those instead.
jhm: Fix bug where if you delete the actual file we didn't notice
Change NO_DEFAULT_CASE to allow compilers to warn if not all cases in an enum are covered.

If you want to assert more than one case is unreachable, use DEFAULT_UNREACHABLE;
Merge pull request #128 from cmaloney/rm-safe-global

Move off of <base/safe_global>