Guard and test against overflow

Cherry-picked from master:
4e68807273171d7b27bf249fb8fc3328e793b95d
Check r*p >= 2**30 even where it currently fails because of MemErrors

Cherry-picked from master:
d7c545d43b8e82e7e1e8e38455704d3881297bf0

Conflicts:
	pylibscrypt/pylibsodium.py
	pylibscrypt/pylibsodium_salsa.py