Initial commit. It needs a *lot* of editing, but the thoughts are all in...

... there