Refactor gui to protocol
Refactor to new framework

- Modify license header
- Remove ProtocolQuitCommand
- Refactor visit() to send()
- Refactor visit() to receive()
- Refactor data to models
- Rewrite AbstractEngine and UciProtocol
Merge pull request #19 from fluxroot/new-framework

New framework

JCPI-5 #resolve