Prevents potential multiple evaluations of enumerable.
also fix Author showing when not wanted
This is important when using dynamic compiling to rapidly iterate. Until we actually split projects out into pieces (like the abstract ruleset project we have talked about) there is no advantage to using internal in the osu! game code.
Fixes https://github.com/ppy/osu/issues/476.
Also ensures some extra fields inside Beatmap have non-null defaults.
Used to get correct bindings for a mode (ActionMappingInputManager).