Fix #1593: Spreading empty (both bugs)

Issue #1593 is really two separate bugs:
* Calling a function without parameters with a *[] argument
* Creating a [*[]]
Both blow up the compiler, but for totally different reasons. This
commit fixes both, and adds a test for them as well.