Make "timeout" fabric runner argument user-configurble

This pull requests makes `timeout` argument for all the fabric runner actions (run-local, run-remote, run-remote-script, etc.) user-configurable.

Note: There is a known issue with timeout exception reporting (the same issue existed before this change). In parallel mode, fabric won't correctly report underlying `CommandTimeout` exception which means, that the error which is returned to the user is not friendly and doesn't indicate a timeout.

I've added a fix for this in https://github.com/fabric/fabric/pull/1228 which I will soon merge into our fork.