add ability to specify polymorphic id and type field names

Some thoughts to fix #238.  Very much open to thoughts and suggestions to make this happen.