Nicer cURL formatting for many parameters & url object parameters support for Rails/Node/etc.

This pull request does a number of things all related to Curl Examples
* supports object & array parameters in GET urls for node/rails/etc.
* adds a nicer way of displaying urls with many parameters in the curl command
* uses `bash` as pygments formatter for `curl example`  as `term` is not an official pygments template
* removes parameters that don't have a value (example) from the `Curl Example`

# Examples
## Curl formatting
#### JSON Schema
```JSON
{
        "properties": {
          "uuid": {
            "description": "ID of the stream",
            "example": "515bb0da9235e8e06a000009",
            "type": "string"
          },
          "array": {
            "description": "",
            "example": [1,2,3],
            "type": "array"
          },
          "nested-arrays": {
            "description": "",
            "example": [[1,2],[3]],
            "type": "array"
          },
          "to": {
            "description": "Timestamp until when to retrieve data",
            "example": 1400457600000,
            "type": "integer"
          },
          "limit": {
            "description": "Maximum number of items to retrieve",
            "example": 10,
            "minimum": 0,
            "type": "integer"
          },
          "empty-object": {
            "type": ["object"]
          },
          "object-w-example": {
            "type": ["object"],
            "example": {"a": "1", "b": 2}
          },
          "object-nested": {
            "type": ["object"],
            "properties": {
              "a": {
                "type": "string",
                "example": "hi"
              }
            }
          }
        }
      }
```

#### Parameters
<table>
  <tr>
    <th>Name</th>
    <th>Type</th>
    <th>Description</th>
    <th>Example</th>
  </tr>
  <tr>
    <td><strong>array</strong></td>
    <td><em>array</em></td>
    <td></td>
    <td><code>[1,2,3]</code></td>
  </tr>
  <tr>
    <td><strong>empty-object</strong></td>
    <td><em>object</em></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td><strong>limit</strong></td>
    <td><em>integer</em></td>
    <td>Maximum number of items to retrieve</td>
    <td><code>10</code></td>
  </tr>
  <tr>
    <td><strong>nested-arrays</strong></td>
    <td><em>array</em></td>
    <td></td>
    <td><code>[[1,2],[3]]</code></td>
  </tr>
  <tr>
    <td><strong>object-nested:a</strong></td>
    <td><em>string</em></td>
    <td></td>
    <td><code>"hi"</code></td>
  </tr>
  <tr>
    <td><strong>object-w-example</strong></td>
    <td><em>object</em></td>
    <td></td>
    <td><code>{"a":"1","b":2}</code></td>
  </tr>
  <tr>
    <td><strong>to</strong></td>
    <td><em>integer</em></td>
    <td>Timestamp until when to retrieve data</td>
    <td><code>1400457600000</code></td>
  </tr>
  <tr>
    <td><strong>uuid</strong></td>
    <td><em>string</em></td>
    <td>ID of the stream</td>
    <td><code>"515bb0da9235e8e06a000009"</code></td>
  </tr>
</table>


### Turns above JSON Schema into the following curl example:
```bash
$ curl -n -X GET https://streams.bottlenose.com/tests -G \
  -d uuid=515bb0da9235e8e06a000009 \
  -d array[]=1 \
  -d array[]=2 \
  -d array[]=3 \
  -d nested-arrays[]=%5B1%2C+2%5D \
  -d nested-arrays[]=%5B3%5D \
  -d to=1400457600000 \
  -d limit=10 \
  -d object-w-example[a]=1 \
  -d object-w-example[b]=2 \
  -d object-nested[a]=hi
```
### instead of the (old) unreadable one:
```term
$ curl -n -X GET https://streams.bottlenose.com/tests?array=1&array=2&array=3&empty-object=&limit=10&nested-arrays=1&nested-arrays=2&nested-arrays=3&object-nested=%7B%22a%22%3D%3E%22hi%22%7D&object-w-example=%7B%22a%22%3D%3E%221%22%2C+%22b%22%3D%3E2%7D&to=1400457600000&uuid=515bb0da9235e8e06a000009
```

## URL object support
Previously something like this
```JSON
          "object-w-example": {
            "type": ["object"],
            "example": {"a": "1", "b": 2}
          },
```
Would be turned into the following parameter in the url: 
`&object-w-example=%7B%22a%22%3D%3E%221%22%2C+%22b%22%3D%3E2%7D` (unencoded: `&object-w-example={"a":1, "b":2}`)
This forces you to add json parsing to your API to detect what parameters where used.
A nicer way is to use the way rails & node do sub objects in urls (eg. `object[subobject]=value` turns into `{object: {subobject: "value"}}`
This allows the above example to be displayed in the following way: 
`object-w-example[a]=1&object-w-example[b]=2`

While doing this I also added support for arrays in Rails and node: `a[]=1&a[]=2`

The array example works fine in rails and node but doesn't work that well with django so I built this in such a way that people can add their own URLGenerator modules and evoke a different strategy via the command line:
`prmd doc -u json` envokes the old style of generating urls.


__Food for thought:__ We might want to create some kind of config file to add these types of configuration options to. Or maybe they should be added to `meta.json`? 
Using extend here seems a little strange to me. I guess I would lean toward having the other things as classes and doing `Klass.new.generate` or similar. Is there a particular reason you decided to go this route? I guess either should work alright, but this just wouldn't have been my first choice/guess I suppose.