Generate additional desc_signature node for template

We need to render templates on two lines but desc_signature doesn't
permit multiple lines. So add two desc_signature nodes for templates,
one for template <...> part and another for the rest.
Don't add empty desc nodes

Empty desc nodes break LaTeX markup and are not permitted according to
the Sphinx documentation
(http://sphinx-doc.org/extdev/nodes.html#sphinx.addnodes.desc):

   "It (desc node) contains one or more desc_signature and a
   desc_content."
Generate additional desc_signature node for function templates

We need to render templates on two lines but desc_signature doesn't
permit multiple lines. So add two desc_signature nodes for function
templates, one for template <...> part and another for the rest.
Print meld command in prepare script

For the odd occasion where we want to run it again without generating
the html again.
Switch to implicit length check & add comment

The comment needs to be expanded a little given the context.
Refactor template/title signature node handling

Instead of performing the switch in the template if-statement where we
reset the 'signode' value we make it a little longer but more explicit
and hopefully easier to follow.

Pretty much just personal opinion though.
Merge branch 'pdf'