Rewrote paged collections with HAL

I rewrote the way that paged collections with HAL work to be more flexible and elegant. Now, there is an interface `Model/PagedCollectionInterface.php` that needs to be implemented. There is also a concrete class `Model/PagedCollection.php` that can be inherited from that already has the getters and setters implemented. This interface or class can be used to create custom paginated results. That way, we can use annotations to create additional links for the resources, as well as additional properties (or embedded objects). 

This still needs: 
- [ ] Documentation
- [ ] Updated Unit tests
- [ ] The old HalPager needs to be removed, and I want to rename the Handler to PagedCollectionHandler at that point
- [ ] There are also unit tests failing because of deprecated functions in Symfony. I'll open a separate PR to fix those. This needs to be rebased afterwards.