Updated the paper and added code documentation

Paper:
-greatly expanded on the Protocol section of the paper
-added sections for SRP and Code
-proofread and edited the rest of the paper

Code:
-added thorough documentation, including docstrings on almost everything
-split z into z_C and z_S, as suggested by woursler