Tidying Up (attempt 2)

The vast majority of the changes are due to tidying of comments,
position of brackets, etc that should make the code easier to read but
will have no effect on how it actually runs.

Changes worth noting are:

In many places variables cast as double have been recast as Double.
This is primarily due to the way parameters are read in from protocol
file. Care has been taken to initialise Double variables as, for
example, 0.0 rather than simply 0. Note that a double variable will be
given a value of 0 by default, whereas a Double variable will be given
a Null value by default. More complicated is initialising Double[],
Double[][], and Double[][][] arrays, and so I have created the
functions ExtraMath.newDoubleArray(int nI),
ExtraMath.newDoubleArray(int nI, int nJ) and
ExtraMath.newDoubleArray(int nI, int nJ, int nK).
Switched the position of the if statement in SimTimer.updateTimeStep()
to make it easy to comment.
Error reporting has been improved (see LogFile.writeError()).
attachmentMethod will always be “onetime” in a chemostat (see
Simulator.createSimulator()).
Changed ActiveAgent.grow() so that it no longer calculates the growth
rates - this is done by updateGrowthRates() - but merely implements
them.
sendHeader() and writeOutput() functions of all classes implementing
HasSpecies no longer return a String but a StringBuffer instead. This
seems to make more sense than repeatedly switching between the two.
Forced LocatedParam to read in tumbleInt as a time rather than a
length. Made a note that cellRunSpeed should be read in as a speed, not
a length.
Changed Species.setAgentAngleOfMovement() so that it uses the standard
random number generator, and is therefore reproducible.
Tidied up swimming attachment in Species. Converted all angles to
radians as standard. Worth noting that
LocatedAgent.computeDifferenceVector() assumes cyclic boundaries, and
Domain.testCrossedBoundary() only returns the first boundary crossed (a
complete list would be far more appropriate). When I get time I’ll move
all of the difference stuff to Domain and deal with boundaries properly.
Removed duplicate function in XMLParser: getAttributeStr() did exactly
the same thing as getAttribute(). All calls to getAttributeStr() now
call getAttribute().
Onetime in protocol files

Restored onetime attachment in the example protocol files