LUInstanceCreate: fix file storage dir calculation
LUInstanceCreate: fix file storage dir calculation

- Move the calculation at the beginning of CheckPrereq, since it doesn't
  modify any state, but still keeps locks
- Only perform the calculation if the actual disk template is filebased
- Error out if there is no defined file storage dir
- Only join the optional --file-storage-dir extra-path if one is passed

Signed-off-by: Guido Trotter <f62ca4d5358bdaeef0e50e57f9f7e231de63727e@google.com>
Reviewed-by: René Nussbaumer <bc755ac45a0e799d1d490cba76febc56d80cc5fc@google.com>

mbakke/ganeti,dimara/ganeti,ganeti/ganeti,apyrgio/snf-ganeti,mbakke/ganeti,yiannist/ganeti,dimara/ganeti,grnet/snf-ganeti,bitemyapp/ganeti,ganeti/ganeti,andir/ganeti,ganeti-github-testing/ganeti-test-1,leshchevds/ganeti,yiannist/ganeti,apyrgio/ganeti,grnet/snf-ganeti,leshchevds/ganeti,andir/ganeti,mbakke/ganeti,andir/ganeti,leshchevds/ganeti,onponomarev/ganeti,apyrgio/ganeti,bitemyapp/ganeti,apyrgio/snf-ganeti,onponomarev/ganeti,yiannist/ganeti,ganeti-github-testing/ganeti-test-1,ganeti/ganeti