Add a plugin_globals vector to aid in safety checks for plugins that require globals

This allows "using df::global::foo" to be replaced by "REQUIRE_GLOBAL(foo)",
and DFHack will refuse to load the plugin if df::global::foo is NULL