make `sml/replacer' symlink-aware

If I have a directory ~/long/path/to/my/project and then a shortcut
symlink ~/myproject which points to it, and I want sml to replace
pathname prefixes with :MYPRJ:, previously I would have to add two
entries to `sml/replacer-regexp-list': one for the long pathname, and
one for the symlink.

This commit makes sml smart enough to only require one entry for the
long pathname, and then automatically spot that when I've loaded a
project file ~/myproject/foo.py, the absolute (expanded) path matches an
entry in `sml/replacer-regexp-list'.
Fix filling and name on the very first update of non-file buffers.
Merge branch 'replacer-symlinks' of git://github.com/aspiers/smart-mode-line into aspiers-replacer-symlinks
sml/replacer follows symlinks.

Only if original path didn't match.
Fix replacer inserting the dir in non-file buffers
Fixes issue #45

For real this time