Feature media type handling

Summary of changes: 
- Add MediaTypeHandlerBase that allows for separation of read/write wire format, object graph to/from wire format, custom link management for root items and collections.
- cleanup and merge HalJson into JsonNet, removed old HalJson projects 
- Xml and Json.Net handlers use this new base.
- Renamed the existing JsonMediaTypeHandler to JsonMediaTypeHandlerWithDeepLinks
- Cleaned up and organized the Solution file
- Added MediaTypeHandler performance test harness
- resolved merge conflicts from main in this branch