Port Salsa20, XSalsa20 and ChaCha changes from bc-java

Port from bc-java:
 - reduced round Salsa20
 - registerised Salsa20 core
 - XSalsa20 implementation
 -  ChaCha implementation

protected uint signatures required CLSCompliantAttribute(false) to suppress warnings -- I'm not sure whether CLS compliance is a goal of bc-csharp, so let me know if this isn't OK.