Impl of Block/Item expansion

This PR implements the changes to the `BlockType` and `ItemType` interfaces in SpongeAPI PR 309 (https://github.com/SpongePowered/SpongeAPI/pull/309). Additionally it implements the previously unimplemented methods `getProperties()` and `getPropertyNames()` in `MixinBlockState`.

The travis build will understandably fail until the associated PR to SpongeAPI is pulled.