use String::Utf8Value while in scope

I'm guessing this is a Linux vs SmartOS thing or perhaps a gcc thing; the `String` tests fail on Linux, both Node 0.8 and 0.10, gcc 4.8.1.

I narrowed it down to `v8::String::Utf8Value` being used to get a `char*` but then falling out of scope before the `char*` is used to calculate the CRC so I guess the underlying `char[]` is changing (or something!). I've mildly refactored so that it's used in the same scope.