basic renamings and refactorings to convert to new coding style (fewer getters)
adds more fields to decode()ed Move to make it compatible with chess
refactors Move - renames encode to encodeAndPack for clarity; splits decode into unpack and decode
adds isCheck and isMate to Move.decode output; does some minor refactorings
updates Premove to use new interfaces
corrects references to move fields in Move.decode
adds epTarget and updates fullmove, colour, fiftymove etc in Move.decode