Add BastioMessageError exception

Signed-off-by: Amr Ali <amr@databracket.com>
Add Json.exists to check on fields that has been set

Signed-off-by: Amr Ali <amr@databracket.com>
Add public key validation

Signed-off-by: Amr Ali <amr@databracket.com>
Add protocol messages and parsers

Signed-off-by: Amr Ali <amr@databracket.com>
Add strict validation on the username

Signed-off-by: Amr Ali <amr@databracket.com>
Remove the public key field from AddUserMessage

Signed-off-by: Amr Ali <amr@databracket.com>
Allow individual tasks to be stopped

Signed-off-by: Amr Ali <amr@databracket.com>
Add API Processor

Signed-off-by: Amr Ali <amr@databracket.com>