Fix runaway memory leak when expanding invalid tags, and remove error

Don't recursively parse on the case of an error. Also, in the case of an
error, instead of replacing by an error message, replace by the tag
itself to prevent mangling strings that legitimately include < and >
characters, for example song titles when using the MPD plugin.

I'm not sure how to handle this better. Honestly, I would like to remove
the recursive parsing altogether but this works for now. Consider filing
an issue for a proper resolution of this. I don't want rogue tags
expanding themselves in my song titles.