Implements most of str.modulo

The alternate form for floating point doesn't work yet.
The %(name)s form doesn't work yet.
Merge pull request #422 from dhylands/str-modulo

Str modulo