Cleaned up specs, added query params support.

Paths can now be defined as objects (as not just strings) containing two
parameters: 
`path`: what was previously just the raw string for the path
`params`: an object containing parameters to pass along in the request.

@example:
```javascript
q = {
    a: {
        root: '/api/root/'
        , paths: [
            {
                path: 'rj:b'
                , params: {
                    foo: 'bar'
                }
            }
            , 'rj:c'
        ]
    }
}
```

* @mnichols Perhaps you can elaborate on why the last spec fails...
I can't determine if the impl is incorrect or the test using ersatz is 
incorrect: `should optimize traversal down like paths` given query 
params.