On second thought, remove headers from set_content.

Upon further reflection, we need to be able to differentiate between
the non-content headers and the content headers when converting from
type to type in the 'make' methods.  The logical way to do that is
to take everything from Content-Type to the end.  But the content
manager function is the one that needs to add the Content-Type header,
so it will need to be passed the header list to add *after* it adds
that header.
make_related and tests, and a doc update for it.

I realized as I implemented it that it ought to take a boundary
parameter.
make_related, make_mixed, and refactoring.

The three methods are of course closely related, so the original test
and implementation for related is refactored to handle all three. And
we add error handling to make sure we only promote that parts that
make sense for the API.
Broaden ignore for .hg stuff.
add_<subtype> methods.

Refactored the existing tests slightly so that I could reuse the
parameter set for the add tests.  The generated test names for the
cases where the method is called on a part of the same time aren't
the best, but they work well enough.
Make sure make passes policy to new subpart.

Add failed one of the existing tests in this case, but since
the make methods don't use anything from policy, their tests passed.
This adds a test and fixes the bug.