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.
Merge pull request #49 from netj/cache-job-jars

Caching jars when launching jobs for later