Add MetadataProvider for on-demand metadata [BUKKIT-3625]

Read full description at https://bukkit.atlassian.net/browse/BUKKIT-3625

    * Created provider interface
    * Added provider registration to MetadataStore
    * Added unit tests for provider usage
    * Updated bukkit.Server interface with methods for registering
    Player/Entity/World providers
    * Updated bukkit.Bukkit with static implementations
    * Updated World with way to register Block providers