ensure that filenames do not start with an underscore (#758)

Squashed commit of the following:

commit 11da3dbe026fb0c76d619f0295a195d1f012462e
Author: Jeff Williams <jeffrey.l.williams@gmail.com>
Date:   Fri Nov 7 14:42:02 2014 -0800

    add test for #758

commit f3e001d549c5e0e69e50b231f375da92f3e8f688
Merge: df1f4bd d551131
Author: Jeff Williams <jeffrey.l.williams@gmail.com>
Date:   Fri Nov 7 14:32:30 2014 -0800

    Merge remote-tracking branch 'danorton/patch-1' into 758

commit d5511316468eb93f852c51fab5eec380bcfee4b4
Author: Daniel Norton <daniel@danielnorton.com>
Date:   Wed Sep 3 17:00:49 2014 -0500

    Prevent filenames beginning with underscore

    A lot of related software (most notably github.io and the default configuration of jsdoc itself) ignores files with names that begin with an underscore, but the makeUniqueFilename() creates such filenames when the incoming filename is blank. This patch modifies makeUniqueFilename() to insert the ASCII letter "X" before empty filenames or filenames that begin with an underscore.