Do not interpret file names as path exprs during load

We used to interpret file names as path expressions at various points in
the process of loading the tree. That lead to nasty failures if the file
names contained characters that have a special meaning in path expressions,
like '!', '[' etc.

When the loading code now creates nodes or looks them up based on filenames
(e.g. to create the file's top level node in /files or the info node in
/augeas/files), we now use tree_fpath/tree_fpath_cr to do that.

The workaround introduced into shellvars.aug to fix tiecket #246 is also no
longer needed.

Fixes https://fedorahosted.org/augeas/ticket/343
Fixes https://fedorahosted.org/augeas/ticket/333
Improves on the fix for https://fedorahosted.org/augeas/ticket/246
Make tree_unlink safer to use

tree_unlink used to only remove nodes from the tree, leaving the
possibilities of dangling references from variables stored in the
symtab. The new incarnation is safer in that it cleans up the symtab first.