Does every web api command require long transaction support?

Also, shouldn't AbstractWebAPICommand have the ``abstract`` modifier? Aside from being less surprising, this would allow us to omit the dummy implementation of ``run()``.