The HP Officejet Pro 8500A, at $169.39 with free shipping from Amazon (now $139 it seems) provides all this and more. More than I need in some ways, but there didn't seem to be a cheaper option that supported my requirements.
It's a beefy printer - certainly not something you'd want to travel with. But it takes 250 pages, and has four ink cartridges (with extra large ones available) so shouldn't need refilling too often.
Setup took a while, but was quite straightforward. Once all the tape and packing material is removed, and the unit is plugged in, it goes into a self test and calibration mode. This takes a long time, maybe not quite the full 20 minutes advertised in the setup guide, but a while. The touch screen and wizard for setup made connecting it to my network wirelessly a breeze. Once that was done I could scan from my chromebook, just by pulling up a browser and pointing it to the printer's built in web server. A nice feature was that after the network setup the printer printed a page with all the network details, including the IP address. From the browser I could click scan, and away it went.
Next I setup "web services" which, among other things, lets you print by send an email to the printer. This was a little more involved, but still straightforward. The printer printed another page with a code, and directed me to go to eprintcenter.com and sign up with that code. I was able to do all this from my chromebook. It auto assigns an email address, but you have the option to pick your own. Having done this I clicked Print in the Chromebook and it led me through a very simple setup of Google Cloud Print, which basically just involved adding the email address of the printer. Worked first time.
I did also install the CD on one of our laptops. All the usual bloat that you get when you install printer software. But the usual program we use for scanning worked too.
Printing from an iPad was very simple. Open a browser or email, click the export arrow icon, click Print. It prompted me to pick a printer, clicked on the HP, and then I could click Print. Worked first time. I also installed the HP iPrint app, which makes scanning from the iPad very easy too.
At some point during my experimentation the printer asked me to download an update. This went very smoothly, and the download was quite quick. When the printer rebooted itself it did go back through a calibration and printer head cleaning cycle. This one probably took less than 5 minutes, so quicker than the initial one. However, I'm hoping it doesn't do that every time it reboots, since I could see that getting annoying if you were trying to print something in a hurry.
All around very happy. It does everything it was advertised to do, and was easy to setup.