Fixes in worker for handling relative paths for workspace and correctly symlinking files to and from cache.

1. Fixes #345 by converting the specified relative path to absolute.

2. Uses absolute path for source when symlinking. Previously, the symlink was created relative to the current directory. Here is an example of the problem: consider a directory containing 2 subdirs - cache and t.1.

When we symlink a file ```a.in``` in ```cache``` into ```t.1``` as  
```ln -s  cache/a.in  t.1/a.in``` then ```t.1/a.in``` will simply point to a non-existent file as the link will be traversed relative to ```t.1```.

@btovar