added error checking on the coroutines.

Errors aren't handled in any special way, I just surrounded it in a
call to assert().
added asserts around io.open in save and serialize
Files need to be opened in write mode.

This would have been an error.
made a comment more clear

It was unclear what functions this comment was refering to.
getSpectrum chains frequencies, tents, histograms

That is it calls each in turn so that you can start with primitives
and end with a spectrum
Added tags, the file generated by ctags

That way you can use ctags to quickly navigate the source without
worrying about git syncing it.
refactor, put common arg lists into tables

It also generalizes the type checking in spectragen. That doesn't have
its own commit because I'm a bad person, but I figure it was untested
anyway so I may as well rather than going back and redoing the whole
thing one change at a time.
initial commit for a settings file

these settings are not directly related to the experiment, to spectra,
or to aldermanGrant. They are supposed to be general settings and
cover details. This initial commit has the following settings:
* sampleRange
    - how many stds from to mean to sample the distribution
* numSamples
    - how many samples to take out of that range
* snapshotInterval
    - how many spectra to compute before saving the state of the
    program
* AldermanGrantN
    - This should almost always be 32, it's included here so that it
    can be changed if need be
added some settings that pertain to the experiment
return the Exp table, otherwise this is pointless
comment reflects new design
new design for calculateAll
Merge branch 'develop' of https://github.com/npbarnes/Powder-Fit into develop