Profile page and additional preferences

Resolves #398.
Resolves #142.
Resolves #552.

http://jenkins.buttonweavers.com:8080/job/buttonmen-AdmiralJota/109/

I think this adequately resolves #398 despite not specifically including an entry for a player's "Amazon wish list". I'd prefer to use a separate issue for amendments to the Profile page rather than blocking this one from resolution.

I don't know why jenkins feels that the entire BMInterface class is now a CouplingBetweenObjects warning. Is it because I used a DateTime object? Does that make me a bad person?

(And CyclomaticComplexity warnings just make me cry.)