Add ability to add parent mappings typed as parent

To add a parent mapping with the dsl, currently it is necessary to
create a special type and field definition. Adding these in will allow
users to use

```scala
client.execute {
  create index "myIndex" mappings(
    "tags" as (
      "tag" typed StringType,
      typed ParentType("my_parent_document_type")
    )
  )
}
```