[WIP] DSSP secondary structure assignments

cc #447 and #399

(1) change kabsch_sander to not overload the semantics of the ca_indices array with -1s in the place of prolines.
(2) don't use _mm_rsqrt_ps. it wasn't accurate enough to pass the tests for DRID, so it's probably not a good choice here.
(3) small fix in proline handing in kabsch_sander.

todo:
- [x] deal with residues which don't contain the required atoms (ca/n/c/o). this includes solvent, and chain termi
- [x] lots more tests. particularly multi-chain and weird residues (i.e. above)
- [x] add comments
- [x] add license info, and references to Maarten's work
- [x] figue out msvc compilation issues
Any thoughts on list versus array here?  One possible advantage of arrays might be fancy indexing, which is supported by Trajectory objects and arrays but not lists.