More robust directory changing

     - Doesn't fail when the directory is missing a trailing '/'
     - When directory doesn't exist it signals an informative
       condition.