Fix/facter 2/fix threading with lang env

(FACT-469) avoid setting LANG=C in other threads
Pass env vars to system() directly

  * Avoid randomly setting/clearing ENV['LANG'] for other threads

  * Also set LC_ALL=C in case LANG=C is not enough

  * Make execute_with_env raise on failure

Patch #2 - fix + refactor uptime tests broken by above patch