Allow a client id to be passed to the client

Update the constructor to take an optional `client_id` argument that defaults to `CLIENT_ID`.