Added per_page parameter to search api

In response to Issue #424. Adds a `per_page` parameter to the search api allowing for 1 to 100 packages to be returned, but defaults to 15 (as before).
Good point. Also I'm not Symfony expert, but it seems like a JSON response could be returned to a non-JSON request down around line 322. But then again I'm not sure if the `$e->getPrevious()` would cause the exception to be rethrown before that happens.