Fix segmentation fault from calling from_string with a non-string

* Calling BSON::ObjectId.from_string with a BSON::ObjectId segfaulted
* C function attempted to use BSON::ObjectId as a String
* Adds separate check/exception for non-String arguments