Add startsWith() function to check if a string starts with a given substring

The unit tests are extracted and adapted from bezen.org JavaScript library:
http://bezen.org/javascript/test/bezen.string.test.js

Unlike in bezen.org's version, the second parameter is expected to be a string,
no explicit conversion is performed.

This is a simpler implementation than shims of EcmaScript 6, which support
an optional second parameter for the position where to start the search:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith
Add endsWith() function to check whether a string ends with a given substring

The unit tests are extracted and adapted from bezen.org JavaScript library:
http://bezen.org/javascript/test/bezen.string.test.js

Unlike bezen.org's endsWith(), the substring is expected to be provided
as a string; no explicit conversion is performed in this function.

This implementation is simpler than shims of String.endsWith for ECMAScript 6,
which support an optional parameter for the position to start the search:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith