Add support for searchforward in regular egghunter

This patch adds support for the searchforward option in the regular egghunter routine for windows. The default is true, preserving the current behavior for egghunters used in all existing exploits. 

usage:

```
badchars = ""
eggoptions =
{
	:checksum => true,
	:eggtag => "W00T",
	:searchforward => false
}
hunter,egg = generate_egghunter(payload.encoded,badchars,eggoptions)
```

I have no idea why this PR comes with a large number of commit messages. If anyone knows how to get rid of them, please lemme know.