Caching jars when launching jobs for later

User's classes have to be on CLASSPATH when the debugger tries to read
the captured traces later.

- locally it caches at `~/.giraph-debugger/jars/` (or under $JARCACHE_LOCAL/)
- on HDFS, it caches at `$TRACE_ROOT/jars/` (or under $JARCACHE_HDFS/)

The signature of the jar corresponding to a job is recorded in
`jar.signature` in the trace dir, e.g.,
`/giraph-debug-traces/job_201405271720_0008/jar.signature`.
This is recorded by the AbstractInterceptingComputation that first
finishes initializing, and read by giraph-debug script later to be put
on the local jar cache.

Known bug: GUI server isn't taking care of the class path, so it's
unable to load the traces, unless it was launched with the CLASSPATH
carefully set to include user's classes.