More documentation around dialects, code cleanup

Found the last outdated Dialect holdover function, also documented the
behavior of the Base Dialect implementation. Also document the
Attributes alias for map[string]interface{}.
Document Configs, remove unused code from new_mapper

Document the ColumnInfo struct that is used in Dialects, also add
documentation around the different Config fields. IdName made send to
change to a more expressive function from a static field. Also found out
that one of the users of IdName was left behind in a refactoring and
never removed, so that code's remove now.
Make FieldToColumn more expressive

I've heard that a pattern (not a good pattern, but a pattern) of naming
database columns it to name it TableName_ColumnName to make Joins and
aggregations easier to read when only listing column names. In order to
support patterns like that, we'll pass the struct name and field name to
the FieldToColumn function.