Many changes.

1. Change agent api.
2. More implementation in Rummikub.
3. Partial implementation of ConsoleAgent.