Correct documentation.

[#58060090]
Document the new scheme

Also allow `..`. and `0..` (without units) in memory range syntax.

Update the tests to reflect the new documentation.

[#58060090]
Allow zero memory size with no unit

[#58060090]
Implement memory ranges

Implement the algorithm in the documentation. Adjust the test results
to reflect the new algorithm.

[#58060090]
Allow native memory to have an upper bound

Even though this isn't particularly useful, there is no need to
prohibit it.

[#58060090]
Stack size handling

If a range of stack sizes is specified and the floor of the range is
non-zero, use the floor as the default stack size. Otherwise, use
the JVM default stack size of 1m.

Round the number of tasks and ensure it is at least one to behave
better in edge cases.

[#58060090]