Support collections on output (including named collections)

This is dependent on https://github.com/nelmio/NelmioApiDocBundle/pull/451

### Simple collections
```
@ApiDoc(
     output = "array<FooBundle\User>"
)

or 

@ApiDoc(
    output = { "class" = "FooBundle\User", "collection" = true }
)
```

would produce:

```
[] - array of objects (User)

[][first_name] - string
[][last_name] - string

```
### Named collections
```
@ApiDoc(
     output = "array<FooBundle\User> as users"
)

or

@ApiDoc(
    output = { "class" = "FooBundle\User", "collection" = true, "collectionName" = "users" }
)
```

would produce:

```
users[] - array of objects (User)
users[][first_name] - string
users[][last_name] - string
```

I updated the tests already, but will write more to cover the named collection cases.
your regex looking at class names must allow all chars valid in a PHP class identifier: http://fr2.php.net/manual/en/language.oop5.basic.php