added StringUnescaper
added SourceLocation.[equals()/hashCode()]
added Helpers.locationIn()
reused StringUnescaper in DefinedFunctionsCreator
renamed SourceLocation -> CodeLocation
replaced CodeLocation constructor with static factory method
renamed startPosition/endPosition in CodeLocation to start/end
renamed Helpers -> LocationHelpers
style fixes in FunctionsCollector