Split client commands into separate header and compilation unit
Use typedef for pointers to BasicClientCommand
Use typedef for pointers to BasicServerCommand
Remove unnecessary includes