Refactor TurbiniaClient.get_task_data() into state_manager
Right now the bulk of the get_task_data() function for the GCP implementation exists within client.py, and the same function for Redis is in the RedisStateManager object. The two implementations have also not been kept in parity (the later doesn't currently support looking up tasks by user). We should move the get_task_data() from client.py and add it to the BaseStateManager to make sure they are using the same interface and are both kept up to date.
@ericzinnikas FYI: See above about the get_task_data() not currently being in parity between the two implementations. If I don't get to this refactoring soon, we can probably just add a quick fix to support looking up tasks by user to start with in the Redis implementation.
FYI, I found other problems with the user attribute, so I filed https://github.com/google/turbinia/issues/359 (which also covers supporting this attribute in the Redis setup).