Refactor putting characters in heat

Adds a new Player.goIntoHeat() method. This method:

* Encapsulates gender and pregnancy checks,
* Handles entering a new heat and intensifying an existing one,
* Can output standard text (or output nothing and let the caller output custom text),
* Includes sufficient options to handle all current variations in heat intensity, but includes defaults ,
* And returns a value telling the caller if the character's heat was started or intensified.

All code that currently creates or extends heat now uses this method instead.
Add simple Creature.inHeat accessor to check if player is in heat
Change some bonusFertility() calls to totalFertility()

We already have a method to calculate this, so why do it again?
Remove unnecessary "this"es
Correctly scale immediate libido change when in heat
Create Player.goIntoRut()

Analogous to Player.goIntoHeat().
Remove unneeded cock check
Add Creature.inRut getter
Fix order of rut parameters
Change signatures of goIntoHeat() and goIntoRut()

They now take a single intensity parameter, which defaults to 1. Also documents the goIntoRut() method.
Merge branch 'master' into feature/heat-refactor
Merge pull request #530 from rentazilla/feature/heat-refactor

Gently refactor heat and rut