Fixed bugs with basic.egcd(),  basic.max() and basic.min()

- Added more test cases for basic.egcd(), basic.max() and basic.min()
- Returns +Infinity and -Infinity if empty object is passed to basic.min() and basic.max()
- Fixed bug with basic.egcd() relating to https://github.com/sjkaliski/numbers.js/issues/90
- Bug fix for https://github.com/sjkaliski/numbers.js/issues/87
  Used for loop instead of Math.max.apply() and Math.min.apply() to avoid `max call stack size exception.
@LarryBattle doesn't look like you changed it to Array.isArray() here unless GH is screwin' with me