Limit which skills can be assigned to a character

A character can only be assigned a skill if that character belongs to a
campaign, and that skill's skillset belongs to the same campaign. Implement this
restriction via some metaprogramming black magic.

Also: make the test suite search module `gurps_manager.forms` for doctests.