You can have it done for free and in less than an hour in a US embassy abroad. We did it at the embassy in Bern, Switzerland. Just make sure though that you have space in your passport for arrival in LHR if you plan to do it this way. My husband nearly got denied entry at BRU because the customs couldn't find space for his entry stamp!