read-only support for route53 aliases

This adds read-only support for route53 aliases, a depdendency of #244.  Aliases look like normal `A` or `AAAA` record sets, except that the values are instances of `AliasTarget` instead of `AData` or `AAAAData`.

ex.
```java
ResourceRecordSet.<AliasTarget> builder()//
                .name("fooo.myzone.com.")//
                .type("A")//
                .add(AliasTarget.create("Z3I0BTR7N27QRM", "ipv4-route53recordsetlivetest.adrianc.myzone.com."))//
                .build();
```

note that I also cleaned up some parser code.