cases: add alloc-free lowercase with final sigma handling

With this added, the mostl frequent-used and currently-supported
casing algorithms can be created allocation free. Note that this
also covers any language that does not have special handling, which
are most.
As a side-effect these will also be reentrant. This property is quite
valuable in the precis package.

Change-Id: I3a7d3cfe5aef026be1ddb0b556c2a2703909ff77
Reviewed-on: https://go-review.googlesource.com/30391
Run-TryBot: Marcel van Lohuizen <mpvl@golang.org>
Reviewed-by: Nigel Tao <nigeltao@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2 files changed