- add autogenerate support for indexes and unique constraints,
courtesy ijl.  #107
changelog
- refactor autogeneration into its own package
- remove any implicit naming of unique constraints - only explcitly named constraints
are supported by autogenerate
- ensure we correctly handle the case where unique reflection raises not implemented
- fix some naming conventions, changes to expressions for readability
add correct docs for how to override rendering of types