ECDR-42: CDR CTK Compliance

 - Refactored endpoint code to remove the duplication between the search and broker and to leverage an abstract class
 - Updated Atom Transformer to make a link to the metadata if there is no explicit product (so the metadata would be the product)
 - Added extra validation for some query parameters

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/di2e/ecdr/14)
<!-- Reviewable:end -->