AVRO-2397: Implement Alias Support for C++
This provided code here should implement alias support for the C++ implementation of AVRO.
You may or may not wish to include the CMake changes - they were required on my machine to build in VS2017 Windows.
Note: One of the parts of the edited tests still fails as it relies on converting the schema to canonical form and re-running resolution. As the canonical form removes aliases its expected to fail. I will leave it to the maintainers to decide how to handle that.
See bug entry here: https://issues.apache.org/jira/browse/AVRO-2397
Thanks for the prompt review.
Once you have had a chance to look more and suggest any other changes, if you would like me to fixup the issues and resubmit a pull request let me know.
This is my first time contributing to an open source project in Ernest so I am not exactly familiar with how things usually go. Do you typically just make the minor changes and merge them in or request submission of a fixed PR?