Fix existing L8Framework tests. Add some more tests. Fix return value integer transformations. Fix -[L8Value toBoolean]. Dispose Isolate when runtime destructs. Fix objectToValue().

Previously, a value was written to 32 bit integers. However, if a byte value was returned, the resulting value in the 32 bit integer was XXXY, where X is bogus data and Y is the actual value. This caused booleans not to be booleans but odd data. -[L8Value isBoolean] now returns true if the value is Boolean or if the value is a number with value less or equal to 1. This is because the ObjC runtime does not differentiate between a BOOL and a char type, so there is no way to know when to create a Boolean or when to create an 8bit Number.
The v8::Value::IsTrue() does only work when the receiver is actually a Boolean. This meant that the integer value 1 was false. Converting to a Boolean and then calling IsTrue() actually returns the correct value.
objectToValueWithoutCopy() did not contain a rule for L8ManagedValue. Also, if a simple ObjC class was used (without L8Export), it would fallback to an assert when it should fallback to wrapping the object.
Add shared schemas