Raycaster and bounding Box check

Clean start for PR #3655. Summary from before:

Added `intersectBox` and `isIntersectionBox` methods to `Ray`. Additionally, `Raycaster.intersectObjects` checks first for bounding box intersection before continuing with triangle intersection. User must have explicitly computed  `object.geometry.boundingBox`.