Replace replace

Re-written to behave more like the Jinja2 implementation - it calls directly into python's replace().
- Now does not result in an infinite loop if no maxCount is used and the old string is a substring of replacement. fixes mozilla/nunjucks#201
- Handle numbers a bit better
- Improved tests
- Replacing an empty string will interleave the replacement