Bug 857900 and Bug 861859 - Improve lazy body loading

r? @asutherland: You've already looked at @lightsofapollo's part, but here's the whole thing. It's great! Let me know if you think we need more thorough tests.

https://bugzilla.mozilla.org/show_bug.cgi?id=857900
https://bugzilla.mozilla.org/show_bug.cgi?id=861859