Fix multi-line defaults.

Devel::Declare cannot inject multiple lines.  This code flattens multi-
line default expressions into a single line which Devel::Declare can
handle.

This will cause further problems with maintaining line numbers for
calculated expressions within a complex expression, such as...

    func stuff(
        $arg = {
            foo => get_foo(),
            bar => 23
        }
    ) {
       ...
    }

but there's no solution for that problem yet.
Test multi-line string defaults.

Seem Devel::Declare::set_linestr() doesn't mind them.  We got lucky.
Merge pull request #107 from evalEmpire/issue/106

Fix multi-line defaults