de-crappify dict_merge/_merge into a single func

- also misc docs changes