Let File take path as constructor argument

We require each File object to be associated with a path, so we should
require it in the constructor.

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>