fix duplicate DEFAULT section header being output

If the DEFAULT section header exists but no (uncommented)
key/value pairs exist within the section, crudini will add
a duplicate DEFAULT section header if you use it to set
a new value in the DEFAULT section.

This patch checks for the existence of an empty DEFAULT
section and skips adding a duplicate section header.  We
need to bypass using RawConfigParser for this, as it will
not allow you to check for the existance of the DEFAULT
section.

I added two new tests to ensure that the DEFAULT section line isn't
duplicated when we have trailing whitespace or trailing comments.

To avoid the need to renumber all of the test comments whenever new
tests are inserted, the test output has been modified to report the
test script line number when outputting the "ok" and "fail" status,
using bash specific $BASH_LINENO functionality.
It still seems valuable to have an incrementing test counter just
for the purpose of knowing how many tests there are, so I left that
in the test output.