Use Metasm as a submodule

See #4438.

It's a hassle today to mirror upstream fixes into Metasm, and the gem at Rubygems.org has fallen out of date (and it would appear that maintaining that would be a similar hassle).

Just looking at this diffs, this PR **does** get rid of some local changes, but I don't know if those changes are important. If they are, they should be incorporated upstream anyway.

/cc @jlee-r7 and @dmaloney-r7 . Please don't land this yet until the fate of those diffs are determined.

## Verification

- [ ] Specs are all green
- [ ] Manually generating an EXE payload does what you expect. For example:

```
msf exploit(distcc_exec) > use payload/windows/exec 
msf payload(exec) > set CMD calc.exe
CMD => calc.exe
msf payload(exec) > generate -t exe -f calc-test.exe
[*] Writing 73802 bytes to calc-test.exe...
msf payload(exec) > exit
```