Add StFmsHit member to TowerFPD

Prototype this by adding an StFmsHit and removing just the energy
member of TowerFPD. Access to tower energy is now done via this hit. The
hit pointer is const to prevent changing it, which shouldn't be
necessary. Doing so required removing some HitCluster methods that
modify the hit energy, but these are never actually called in our
version of the code, so removing them doesn't affect behaviour, and
modifying the hit energy really shouldn't be necessary as far as I can
tell.
Tidy up TowerFPD files

Simple edits for tidiness and clarity
 - move simple functions out of header declaration and put as inlines
   after, or...
 - move more complicated functions inside source
 - remove unused headers
 - reduce excess whitespace
Remove east/west and nstb flags from TowerFPD

These are never used, as the towers are always used in the context of a
Yiqun object, which knows which sub-detector it represents.
Remove adc member from TowerFPD

Instead access ADC information via member StFmsHit pointer
Add TowerFPD initialization method to set row/col

Place TowerFPD initialization into the class itself, as this keeps
things more encapsulated, and makes it easier to test for towers that
encounter a problem during initialization and consequently should be
skipped for clustering.

This required a reworking for the cluster tower search in Yiqun as the
TowerFPD no longer takes a row/column argument in its constructor.
Require tower initialization

Only add towers for clustering if they pass initialization successfully
Clean up TowerFPD

Largely cosmetic changes, but some functional, including
 - remove unused headers
 - wrap source code in same namespace as header, remove using statement
 - add Doxygen-style comments to class and methods
 - modify layout for more consistent style
Remove unused methods from TowerFPD

Namely the following were eliminated:
 - assignment operator
 - IsEqual()
 - SetContext()
The class doesn't dynamically allocate any objects, so the
compiler-provided assignment operator will suffice. SetContext() was
called in Yiqun but the neighbor array is populated was never used
for anything, so both the method and the array were removed.
Make TowerFPD members private

Add accessor methods to those members and modify other code to use the
accessors rather than the members directly.

This basically completes the cleanup of TowerFPD, and finishes the
changes necessary to resolve #7 and resolve #9.