*
@method endsWith(<find>, [pos] = length, [case] = true)
@returns Boolean
@short Returns true if the string ends with <find>.
@extra <find> may be either a string or regex. Search ends at [pos], which defaults to the entire string. Case sensitive if [case] is true.
@example

'jumpy'.endsWith('py')            -> true
'jumpy'.endsWith(/[q-z]/)         -> true
'jumpy'.endsWith('MPY')           -> false
'jumpy'.endsWith('mp', 4)         -> false
'jumpy'.endsWith('MPY', 5, false) -> true

*
function(reg, pos, c) {
      var str = this, source;
      if(isDefined(pos)) str = str.slice(0, pos);
      if(isUndefined(c)) c = true;
      source = isRegExp(reg) ? reg.source.replace('$', '') : escapeRegExp(reg);
      return regexp(source + '$', c ? '' : 'i').test(str);
    }