Added String::substring() method

Based on pull request #355 from abodelot