Add SHA1 check to source_url

Fixes #259. Here's what it does when you supply no hash, the correct hash, and the incorrect hash:

```
# No hash: prints out SHA1 hash and runs code
source_url("https://raw.github.com/gist/1654919/8161f74fb0ec26d1ba9fd54473a96f768ed76f56/test2.r")
# SHA-1 hash of file is fc6551f13ceddcbe0730ff74c4300f2682c74028
# [1] 2

# With correct hash: just runs code
source_url("https://raw.github.com/gist/1654919/8161f74fb0ec26d1ba9fd54473a96f768ed76f56/test2.r",
  sha1="fc6551f13ceddcbe0730ff74c4300f2682c74028")
# [1] 2

# With the wrong hash: throws error and doesn't run
source_url("https://raw.github.com/gist/1654919/8161f74fb0ec26d1ba9fd54473a96f768ed76f56/test2.r",
  sha1="fc6551f13ceddcbe0730ff74c4300f2682c70000")
# Error in source_url("https://raw.github.com/gist/1654919/8161f74fb0ec26d1ba9fd54473a96f768ed76f56/test2.r",  : 
#   SHA-1 hash of downloaded file (3bc091265c4a543bf772ca99de84db07d53a2468)
#   does not match expected value (fc6551f13ceddcbe0730ff74c4300f2682c70000)
```