Add hmac_md5 and hmac_sha1 functions to the Crypto library
Create a hmac_sha256 method.
This is so that there is an HMAC method for each of the provided hash functions.
Also reduced redundant code by creating a method that accepts the hmac algorithm and returns the generated CString.
Use the passed in algorithm when creating the signing key.
Change to using a multicatch for getHMAC exception handling.
Add optimization flags to the hmac methods.
Since an hmac with the same value and key will return the same hash, constant_offline and cache_return can be used.
Merge branch 'master' of https://github.com/chocklymon/commandhelper into chocklymon-master

Conflicts:
	src/main/java/com/laytonsmith/core/functions/Crypto.java
Merge branch 'chocklymon-master'
Merge branch 'master' of github.com:sk89q/commandhelper