Merge pull request #163 from lightsofapollo/bug-839273-dont-send-empty-headers

Only return found headers in storage.getMessageHeaders
Bug 808716 - Lazily Fetch message bodies.
reflow comments
remove junk that got tested elswhere
Simplify tests, address some review comments
Almost address review comment do_waitForBodyReps -> getMessageBodyWithReps
Actually specify maximum fetch point
parserKlass -> parserClass
replace longtermId hacks with 'sessionOnly' op property to indicate an operation that only needs to be run during the current load/run of the application
Refactor process of saving/handling snippets and partial downloads
add some gaurds
initial implementation of callback for maybeRequestSnippets
Add test to cover deleted header case when fetching bodyReps
add gaurd for empty bodies
F - checkpoint rebase on master
lazily load protocol stuff