don't set id and class to anything (not even null) unless needed
fix bug in filter('*') when undefined elements are in the list

also moved querySelectorAll to the DOM plugin where it belonged