add constant time compare function to mitigate timing attacks

My first take at constant time comparison.

perhaps this could be easier to use if there was another function such as

```
public bool VerifiyPassword(string password, string salt, string validHash)
```
That function could call the Compute hash function then pass the results to Compare.