Improving the products loop to make it standards compliant

The use of query_posts() is discouraged in this scenario. I changed it to use a custom WP_Query, making it more standdard compliant.