Impl of Block/Item expansion

This PR implements the changes to the `BlockType` and `ItemType` interfaces in spongepowered/spongeapi#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.