Fixed issues in parse causing improperly parsed complex query strings

Re-wrote _.access method for two things:

- Will now optionally coerce a native type out of value if possible (ie
Number, Boolean, undefined, etc). To not coerce, set `Arg.coerceMode =
false`.
- Better handling of complex objects that have mixed nested
objects/arrays. See new test case added to `test/spec/arg.js` for an
example object that was failing and is no longer failing.
- Removed the need for boolean shouldSet value passed to `_.access`.
Now assumes if `value` is undefined that you are in get mode and
`shouldSet = false`.