Refactor the IStorage & DiskStorage classes

* SetPath is bound to Disk/Filesystem implementations and should not
  go into the IStorage interrace (think of SQL database storages
  that have no path but a url/connection string/password combination)
* Add constructor for DiskStorage to set the path in the constructor
* Make path to notes publicly available for reading