VFS: get_dentry() sets errno

Keeping it in line with similar functions.  Also catches some places where we
weren't checking the return value of get_dentry().  Not sure how failure for
init_sb() or do_lookup() should work.
Fixes error handling in do_pipe()

Was leaking memory if we failed to create files for each end of the pipe.