Source map 'version' property should be a number.
Merge pull request #991 from harthur/source-map-version-string

Source map 'version' property should be a number.
Don't inherit from DelegateClass for performance.
Memoize ruby version information for performance.
Optimize hash iteration.
Don't call require inside commonly called methods.
Storing node names against the class results in a marginal speedup.
Memoize these values against the same class
Only dup the number when it has an original value for performance.
Use class storage for this cache instead of a hash for performance
Avoid Proc allocations for performance
Speedup lcs computation by avoiding explicit blocks.