AppSecret Proof Functionality

Added new functionality for facebook's appsecret_proof.
(see https://developers.facebook.com/docs/graph-api/securing-requests)

This required a new ```encodeHex()``` method placed in ```encodingUtils```. The function behaves like apache commons Hex library. It currently only supports the creation of lowercase hex strings. 

New reserved parameter name ```APP_SECRET_PROOF_PARAM_NAME```

New constructors were added requiring an ```appSecret```.  As long as this field is set the appsecret_proof will be appended to all requests. Previous constructors still exists to ensure compatibility. If this field is ```null```, ```appsecret_proof``` will not be appended to requests urls.

New method ```makeAppSecretProof()```.  This takes in nothing an utilizes the ```appSecret``` and ```accessToken``` designated in the constructor to generate an appSecret. Tests for this method reside in ```FacebookClientTest``` and test against values generated by the php function ```hash_hmac('sha256',token,secret)```

Modified method ```toParameterString``` to build ```appsecret_proof``` appropriately given ```appSecret``` is set.

Due to ```fetchConnectionPage()``` bypassing ```toParameterString()``` this method was modified as well to append the correct appsecret_proof to the given connectionPageUrl.

As per request, there is also a static method requiring the appSecret and accessToken inside of encodingUtils.

Relevant discussion:
https://groups.google.com/forum/#!topic/restfb/ASDYifbLkoU