Tiny refactoring,  bugfixing,  new methods

Refactoring:
* more es6-style
* new 'reset' method logic
* range check for 'replace', 'remove', 'wrap' and 'move' methods

Bugfixing:
* negative offset processing
* negative started position (for inner changes due offsets) processing
* correct fragments grouping (groupedFragments method)

Methods:
+ getRange
+ printFragments
+ toString

+ tests
+ RangeIndex class | refactoring subFragments get/set

* using RangeIndex for fragments and records indexing, getting inner and
outer fragments/records diapason
+ RangeOffset class

* using RangeOffset instances instead of StringAlter#updatePosition and
StringAlter#updateRecord methods
StringAlter constructor refactoring | adding 'policy' option (Without tests!)

* policy allow to control of some unobvious changes

This is a first step in adding 'policy': there is a need to work more in
this direction. Also tests for policy's is not ready yet.
BUILD script for building es5 version
bump version to 0.6.8