Return early from _attr when there is no change in the value of the attribute.

This prevents any unnecessary events from being triggered.  This *should* fix #363.