First pass as an export API
Allow WP_WXR_Export to be init without arguments

It assumes we want everything in this case.
Rename export() to export_using_writer_class()

export() was too generic and suggested many
people should use it.
Remove XML from writer's names

Writing XML isn't part of their core responsibilities,
so we don't need to clutter their names.
Filter out empty WHERE clauses

If any of the *_where() methods returns an empty
condition it breaks the SQL query, because we
add en extra AND for it.
Make the defaults array more readable

Split into multiple lines, since we will be
adding more to it.
Rename post_status to status

We don't need to match the post member var and
introduce extra specificity.
Filter by author
Move public methods on top and order them sanely

Place the most used ones on top.
Add start/end date filtering
Get rid if 'all' => true

It's superseded by creating the object without any
arguments.
Add attachment of custom post types

Otherwise, if we choose to query a CPT, they get
filtered.

See http://core.trac.wordpress.org/ticket/17379
Switch *_where() methods to modify $this->wheres

Some of them need to touch both $wheres and $joins
and having them return values gets unwieldy.
Add category filtering
Add authors listing
Set vars when we are filtering on user or category

This saves us some guesswork after that if we need
to know if the current export is filtered on a user
or on a category.

For example we need that when listing all the categories
and in case we are filtering on one category, we don't
need to show any others.
Add categories listing
Add tags listing
Tags don't have parents
List custom taxonomies terms