Picking updates

This is for drill picking (#978) and for models.  It is a breaking change.  From CHANGES.md:

`Scene.pick` now returns an object with a `primitive` property, not the primitive itself.  For example, code that looked like:
```javascript
var primitive = scene.pick(/* ... */);
if (defined(primitive)) {
   // Use primitive
}
```

should now look like:

```javascript
var p = scene.pick(/* ... */);
if (defined(p) && defined(p.primitive)) {
   // Use p.primitive
}
```

Test Sandcastle and view picking.

@fstoner this will affect you if any of your new code calls `context.createPickId`.

@gbeatty this should be all you need to finish #978.  Can you update your new doc for `Scene.pick` to say that it returns an object with a primitive property and potentially other properties depending on the type of primitive?