Add effective_user support for snakebite.client

Add parameter to support effective_user from client all the way to the
channel. It is now possible to overwrite local user with given user. If
there's no user specified we keep old behavior - use user that executed
snakebite as the effective user.
Effective user is the user that will make the actual changes on the
HDFS.