Bugfixes and tests added for formatBlock

Currently custom `formatBlock` code is only used for `blockquote` commands. Unwrapping block elements (such as headings) does not work with the native `execCommand`, so I've re-added the custom behaviour for all block elements, along with some tests. 

There are also fixes for the erroneous detection of a span as a block element, bugs when converting a block element to a list if the element has a tagname as part of it's text and bugs wrapping a blockquote around a mixed set of nodes.