Split SavedLocation out of the LocationManager as LocationRecord

The class is way too big now, so let's split it up three-fold. This
allows us to clarify dependencies a little bit as well.
Split off LocationCommands from LocationManager

This introduces a FeatureComponent base class, which makes it possible
for features to have owned sub-classes which can access the same parts
of the Mineground plugin the feature can.