Basic operations speedup

Continuation of #41, this time against develop.

**before (9646b1c)**

```
#contains (non-moment) x 9,684 ops/sec ±0.54% (92 runs sampled)
#contains (moment) x 10,015 ops/sec ±1.04% (94 runs sampled)
#overlaps x 9,274 ops/sec ±0.55% (96 runs sampled)
#engulfs x 9,163 ops/sec ±0.69% (96 runs sampled)
#length x 9,808 ops/sec ±0.97% (93 runs sampled)
#count x 9,937 ops/sec ±1.13% (92 runs sampled)
#countInner x 3,364 ops/sec ±0.86% (96 runs sampled)
#isEmpty x 7,660 ops/sec ±0.67% (91 runs sampled)
#isValid x 13,816 ops/sec ±0.56% (96 runs sampled)
```

**after (7289540)**

```
#contains (non-moment) x 38,784 ops/sec ±1.10% (90 runs sampled)      4x
#contains (moment) x 1,179,149 ops/sec ±0.93% (94 runs sampled)       112x
#overlaps x 26,947 ops/sec ±0.90% (85 runs sampled)                   2.9x
#engulfs x 27,019 ops/sec ±0.88% (89 runs sampled)                    2.9x
#length x 36,006 ops/sec ±0.51% (97 runs sampled)                     3.7x
#count x 10,013 ops/sec ±0.57% (97 runs sampled)                      0x
#countInner x 3,522 ops/sec ±0.87% (87 runs sampled)                  0x
#isEmpty x 17,580 ops/sec ±0.68% (88 runs sampled)                    2.29x
#isValid x 3,120,425 ops/sec ±0.66% (93 runs sampled)                 225x
```

Note that `isEmpty` doesn't see the same drastic speedup now that it uses `moment#isSame`, which needlessly clones moments. That should probably be fixed upstream, though.