iris: bufmgr updates
Here's a small pile of iris buffer manager changes I wrote today. They:
- Fix locking bugs on non-LLC systems (doesn't exist in i965)
- Fix locking bugs with userptr (doesn't exist in i965)
- Delete all non-error-handling gotos (always thought they were ugly, now we've had an actual bug, so time to die)
- Spring cleaning galore
- Improves OglDrvRes performance by 22%, which had regressed when I dropped the bucketing allocators (thanks to @craftyguy for catching this)
- Restore the ability to require an aligned VMA address when allocating a BO (needed by some of @jljusten's work)
- Makes us defer returning VMA for reuse until BOs are idle. This isn't strictly necessary today, but some of @jljusten's work will require it, and I figure we may as well try it out now and see if we run into any downside.
I would appreciate review on this series. It's better to have more eyes on the foundations.