Let's drop the `RuntimeError`.  We rarely throw these.  These are for things like running out of memory.

However, we do need to support the new [geometries](https://github.com/AnalyticalGraphicsInc/cesium/wiki/Geometry-and-Appearances).  For example:
```javascript
if (defined(primitive.primitive) && defined(primitive.id)) {
    var attributes = primitive.primitive.getGeometryInstanceAttributes(primitive.id);
    if (defined(attributes) && defined(attributes.show)) {
        attributes.show = ShowGeometryInstanceAttribute.toValue(false);
    }
}
```
@bagnell why does the call to `createPickId` in [Primitive.js](https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Source/Scene/Primitive.js) only return the instance id?  At one point I thought it also returned the primitive (as I show above).  Models are also going to return something similar (but return the picked `node` as opposed to the `id`).  Long term, I expect `pick` will return an object containing a primitive and other data as opposed to the primitive alone.