Initial file syncing works.

And by initial file syncing, I mean the total basics: copy from
directory A to B on a pull operation.

This is a huge changeset that I didn't know how to break down into
subparts:

- The file tracking in the DB is changed to be relative, in order to be
  able to do key comparison over distributed systems with non-identical
  file systems or paths.

- A data provider is added to be global to each node in order to be able
  to fetch information about the absolute path required with the stored
  relative directories over the network. This is a side-effect of using
  anonymous dirmon processes to managed the named peeranha databases.

- Files are copied locally to /tmp (which is not portable for now) by
  using peeranha's pre-hooks, and are then blindly copied back into the
  monitored directory using the post-hook.

- The post-hook callback is known to be wrong, just sufficient to
  demonstrate basic copying facility. It needs to be fixed.

- File copying util has been added using Erlang's RPC mechanism. The
  file copy takes place over incremental 10kb chunks to avoid saturating
  the dist_port in a way that could force node disconnections. The
  failure semantics are still a bit vague there and would require
  clairifcations.

- The tests have been updated to reflect the changes.