Avoid clobbering messages; $vars['messages'] is already set by pageDraw()
Handle API returns in a more meaningful way.

When called as an API, post results will:

* Default forward() to / is disabled
* If postContent() returns nothing (null) then we
** Set a 400 response
** Set an error message if no messages have been set
* If postContent() returns something then
** if it's ===false we set 400
** We return the result in the current template

Closes #584
Refs #584: Handle delete and put like post
Closes #587: Default xxxxContent() methods set 501 Method Not Implemented.

Closes #588, since it includes those patches as well
Merge pull request #592 from mapkyca/not-implemented

Sets 501 Not Implemented for xxxxContent() base classes.