blkfront: use indirect segments if available

This allows us to send up to 512 segments per request. With direct requests the limit is 11, which is too small to get good performance.

It helps on ARM, but also on x86. These graphs are for Xen running under VirtualBox on x86_64 (which shows a bigger effect due to caching on the host):

![block_read](https://cloud.githubusercontent.com/assets/554131/4472720/c3d2f36a-494a-11e4-84fb-5f367b96fe25.png)
![block_write](https://cloud.githubusercontent.com/assets/554131/4472724/c792fc16-494a-11e4-8b3a-f5b5002deb7a.png)

The old code peaks at 11, which is the most segments you can get without indirect pages.