Query support; Subtract boundary solution

Querying
-------------

Support for multiple subsequent add/subtract calls.
I.e.: `RangeA.subtract(RangeB).subtract(RangeC).add(RangeD).by(...)`

Query String
-------------

Additionally, there is moment.range has been replaced (only because I didn't being used anywhere), with a range 
query. Examples of this are as follows:

1. `(2009>>2012)`
2. `(2009>>2012)(^2008-2010)`

Subtraction Boundary
-------------

You can say whether you want to include/exclude the boundary dates during subtraction. 
i.e.: `RangeA.subtract(RangeB).subtract(RangeC, 1, 's') // means 1 second offset from left/right of range

Note: This can be done by the user quite easily, but I figured it would be awesome if the library supported it.