Adding support for Avro serialized Configuration

This closes #153. The main entry point is `com.microsoft.tang.formats.AvroConfigurationSerializer`.

The class supports three (de-)serialization schemes:

  * To and from Avro objects.
  * To and from files
  * To and from `byte[]`

Tests can be found in `com.microsoft.tang.formats.AvroConfigurationSerializerTest`.

**Open Issues:**
  * This code re-uses the string encodings found in `com.microsoft.tang.formats.ConfigurationFile`. I am not sure how sane they are.
  * I settled for tests that exercise Tang end-to-end instead of unit tests: `Configuration` is in reality not, as the API suggests, a pure data class. It holds references to `ConfigurationBuilderImpl` (see #151). It also does not contain a `.equals()` implementation, and adding one is non-trivial until #151 is fixed. There are some beginnings towards that in this pull request but more work is necessary. We should revisit the tests here once #151 is done.