Improve `Open Type`

This PR is a temporary improvement until the Scala Search project takes over and we can implement open type correctly.

* don't index scala artifact classes
* correctly locate inner elements

This also fixes "element does not exist" errors when choosing something from the open type dialog.

I'd like to backport it, but given the tricky aspect, we should use it in `master` for a while before pushing it back in 3.0.x.

The `Open Type` dialog used to look like this:
![screen shot 2013-05-08 at 1 33 10 pm](https://f.cloud.github.com/assets/133742/476804/a4d027c0-b7ca-11e2-818d-23d6558f3cc4.png)

and now it looks like this:
![screen shot 2013-05-08 at 1 33 32 pm](https://f.cloud.github.com/assets/133742/476805/ac3f4766-b7ca-11e2-812f-9c3f92a0f408.png)