New rules for post_type argument

Previously, we were checking of the `post_type` argument existed, then passing that to a filter. WordPress in certain situations passes `post_type` as an empty string which was breaking our query. This PR does the following:

1) If no or empty `post_type` argument, default to `any` post type.
2) If `post_type` argument is present and not empty, use it. This means if you want to query for `post_type` post, you MUST specify it. WP defaults to either post or any depending on the situation. We are NOT mimicking this confusing behavior
That's what should happen. If you don't specify the post_type arg, the post type filter is left off.