Refactor to reorganize
Continuing work on getting the dynamic rail types and single-block usage to work.
Icon provider, used by rail type class to get icons.
rail type, useful methods and fields to do with the rail type.  Stores references to its logic class, tag, internal id (correlates with damage value, so we can easily get types for items and blocks alike), and icon provider
RailLogicBase is the "instance logic" that provides the base for all rails.  Provides body for the interface methods that most rails will use, and abstracts them.