Protocol changed: all data send via json

previous protocol was 'CMD::::key[::::value]' string, but it's little
complicate to use and '::::' can't use in key string. with json, we can
solve this problem.
Separate client to client/connection/client.