Single Payloads Cache Assembled Payload Improperly

An earlier change to the framework (prepend_migrate) forced single
payloads to use the internal_generate method of payload.rb.

internal_generate calls build which has a cache to track assembled
payloads. This method assumes that a payload only needs to be
assembled once, with optional values patched in later.

Single payloads do not work this way. Each time they are generated
new assembly source is created with the options hardcoded in.

This fix updates build to use the hashcode of the assembly code as
part of the cache key.

This fixes #7898 -- a bug that prevents a user from generating
multiple variations of a single payload without a restart.
HTTP::ClientRequest: Should handle nils in params

When hashes for params contain nils, they should be converted to empty
strings instead of crashing.

* #to_s: Calls #to_s on vars_get and vars_post data
* #set_encode_uri: Calls #to_s on its arg
Removing this from master due to test problems

This module was moved over to the unstable branch in commit
7106afdf7d5a86ef80ddd5d0cd29a34a974834c5 , working up a fix now. Stay
tuned.
Uses js_mstime_malloc to do the no-spray technique
Forgot to remove function ie8_smil. Don't need this anymore.
Revert removal of the SAP module

This reverts commit 26da7a6ee77490136e491dc8b6d3b99261ddc844.
Rework parse_xml

We try to avoid using Nokogiri in modules due to the sometimes
uncomfortable dependencies it creates with particular compiled libxml
versions. Also, the previous parse_xml doesn't seem to be correctly
skipping item entries with blank names.

I will paste the test XML in the PR proper, but do check against a live
target to make sure I'm not screwing it up.
Land #1788, @todb's switch from nokogiri to rexml
Get rid of the suffix

This makes blob cache a little cleaner

[FixRM #7898]
Land #1776, assembly payload blob cache fix
Landing #1784 - Handles nils in params

Nils are handled by converting values into strings
Land #1787, @wchen-r7's mod to ie_cbutton_uaf to use the js_mstime_malloc API
Make msftidy happy