Limit how many character points can be spent

Prevent the user from spending more character points than are available for a
given user. This fixes issue #6.
Deal with fallout of limited character points

Make changes to ensure the test suite passes. For example, ensure class
`CharacterFactory` produces character objects whose `total_points_spent` is
lower than `total_points`.