handle missing element (from query selector) more gracefully
dont try to do a smart array update with inverted sections (see #271)
prevent smart updates from causing chaos when doing array.splice( start, x ) where x > array.length - start
tests for #271