Bug fixing & enhancements

- Removed JSON.stringify (issue https://github.com/melanke/Watch.JS/issues/37)
- Added level parameter (issue https://github.com/melanke/Watch.JS/issues/30)
- Replaced 'for in'  with standard for when iterating over arrays, added the hasOwnProperty check otherwise (issue https://github.com/melanke/Watch.JS/issues/45)
- Added support for checking arrays in the getObjDiff function
- Removed usage of addNRemove when level is 0