Better log level&run command with optional timeout

1. Now it has 5 log levels, and can be accessed through const class
logLevel.
2. readCommandOutput() function now has an optional timeout.

Known issues:
readCommandOutput() return code still doesn’t work.