Refine our reduce handling

The insight was that we were already using expressions in cond that
all evaluated to what we wanted the new value of the accumulator to
be, and that the absence of a value for a particular key could be
expressed as the identity on wp, so everything could be moved into the
cond, much simplifying things.
Use return value of push directly

Much like the last optimization, push already returns the updated
value, so we can just pass along its result as our return value.
Convert push to cons

Anywhere you're using push for its return value, instead of its
side-effects, you can just replace it with cons.  Per the Emacs Lisp
manual entry on push:

	In the simplest case, listname is an unquoted symbol naming a
	list, and this macro is equivalent to (setq listname (cons
	element listname))
Get rid of unnecessary progn and push

Again, push -> cons, which also allows us to get rid of progn.
Fix comment.
Get rid of superflous list in date representation

The only significant code change was to the representation of our
initial post object, which went from a `-quoted construct to an
explicitly constructed list.
Make sure things are loaded that we need.

org-blog defines org-blog-engine-alist, so we need it loaded before we
add to that list.
Use list/cons for initial post content.
Clean up some unnecessary line breaks.
Convert to #' lambdas

Emacs 24.3 seems a lot more strict about this and whinges a lot, so
keep it quiet.
Do some reindenting.

Especially after the '(lambda => #'(lambda change.
Start moving toward a consolidated field mapping.

There's still some additional complexity I hope to start hiding, but I
think this is the way to go forward---anything that deals with posts
can start decorating this structure with its own bits, rather than
having to maintain multiple somewhat-duplicative lists.