Add type annotations

This PR enables exposing paginated collections, like so:

    /**
     * @ApiDoc(
     *  resource=true,
     *  output={
     *      "class" = "Hateoas\Representation\PaginatedRepresentation"
     *  }
     * )
     */