# Functions
NewCustomJSONProvider is like NewJSONProvider, but also allows to wrap JSON decoder, to decode data into intermediate struct, but then transform in into desired ammo.
NewJSONProvider returns generic core.Provider that reads JSON data from source and decodes it into ammo returned from newAmmo.
NewNum returns dummy provider, that provides 0, 1 .
# Interfaces
AmmoEncoder MAY support only concrete type of ammo.
ChunkAmmoDecoder accept data chunks that can contain encoded ammo or some meta information that changes ChunkAmmoDecoder state and affects next ammo decoding.
Scanner is interface of bufio.Scanner like scanners.