Adding a check for the ECMAScript 5 method Object.create, if it exists then use it to create the mock object prototype.

The reason for doing this is because object prototypes created using the Object.defineProperty method are not writable
by default and jsMockito overwrites the object methods when creating a mock.

So to allow jsMockito to mock/overwrite methods we use Object.create to override all methods that are enumerable on
the passed in Obj to mock with descriptors that set writable to true.

To test this properly required upgrading Rhino to the newest release.

Added tests to verify that it works as expected and methods that are not writable (but are enumerable) are mocked
correctly.
Inlining call to getDescriptorsAddedInConstructor function based on code review feedback
Add support for ECMAScript 5 Object.defineProperty

(Merge remote-tracking branch 'Offler/master')

Mocking/Stubbing will now work for functions set using defineProperty,
including non-enumerable functions.