only try to normalize the units to px on IE if it's not set on style attribute

After reading this [StackOverflow question](http://stackoverflow.com/questions/12083523/return-element-actual-property-width-not-px-ie) I noticed the IE normalization code on `getStyle` was also overriding a style that was directly set on the element, so if for example you set a style on a non-px based unit, a later getStyle would mangle that unit back into px.
This patch simply avoids running the normalization if the return value was directly set on the element, so that IE can behave just like any other browser.

I know @ibolmo is running a drive to refactor this on #2414 but this is just another thing he will need to take into account when refactoring (adds 2 tests) and improves our robustness right now.