Rewrite PlacementTest

Tests were re-written to be more cohesive and to test a simpler
public interface for Placement objects.

Public interface for Placement now consists of four messages:
*update() *advance() *rotate() *report()
Rewrite Placement to pass PlacementTest

PlacementTest had been modified and it specified a new public
interface.

Placement had to be rewritten. In the process it was simplified.