Use shadow's random source when reading from /dev/random files

When creating a new shadow handle, check if it's from opening a file to either /dev/random, /dev/urandom or /dev/srandom.  If so, add shadow handle to list internal to the host.  Then when reading from file in shadow, if handle is in list, get nbytes from the random source and copy into buffer instead of performing read() operation on the file.
Instead of changing the parameters to `host_createShadowHandle` and passing NULL where pathname is not needed, can we instead create two new functions:
 + `utility_isRandomPath()`: which contains your `pathname && (!g_ascii_strcasecmp` block from below
 + `host_setRandomHandle()`: does the insert into the hash table

Then, after creating the handle, we can do something like

```
handle = host_createShadowHandle();
if(utility_isRandomPath(pathname)) {
    host_setRandomHandle(handle);
}
```