Do not rename items if the name is the same
Fix renaming bugs, deny if empty, and simplify

I screwed it up a bit originally, using && instead of ||.

Use 'trimmed' function to prevent sources with leading or trailing
whitespace.

Also, do not allow an empty value.