Fixing calls to `string.isEmpty()` where the prototype hook was still used, optimizing `number.round()`, refactored `number.parse()` to handle all cases, utilizing `number.parse()`, refactored `$()` to support node.js, where possible, misc clean up

Alignment
Refactoring `number.round()` to pick the correct direction if not supplied an argument, created `Number.prototype.round()` which calls `number.round()`
Merge pull request #237 from avoidwork/edge

Minor changes