adds logging of server messages to client main
removes empty piece image
changes server Move.fromMove to return undefined if move isn't legal
adds ChallengeList widget and implements some challenge logic