Fix materials and Configuration class

Materials are moved out of objects to handle how SM manages blocks.
Since users can add in their own blocks, we need to allow people to see
these blocks in plugins.

Configuration no longer throws an exception if the parse fails. It only
returns false and default-izes the config.