Fix missing field on x64, use packet groups

Despite rigorous testing, the x64 version seemed to be dropping a column from the result set. This would appear to be due to the differences in the way the x86 version of the API handles the ubound parameter of the enumeration.

x86 ubounds are inclusive, where as x64 are exclusive. Hence in the case of x86 we need to subtract one from the field set, but not in x64. This PR fixes this problem.

I also made use of the packet grouping functionality to tidy up a chunk of the code. Yay for easier grouping!

All queries should now return the same result set across all platforms.

### Before
On x64:
```
meterpreter > wmi_query "Select Caption,CommandLine,Name from win32_process where caption like '%google%'"

Select Caption,CommandLine,Name from win32_process where caption like '%google%'
================================================================================

Caption                   CommandLine
-------                   -----------
GoogleCrashHandler.exe    "C:\Users\OJ\AppData\Local\Google\Update\1.3.22.5\GoogleCrashHandler.exe"
GoogleCrashHandler64.exe  "C:\Users\OJ\AppData\Local\Google\Update\1.3.22.5\GoogleCrashHandler64.exe"

Total objects: 2
```
### After
On x64:
```
meterpreter > wmi_query "Select Caption,CommandLine,Name from win32_process where caption like '%google%'"

Select Caption,CommandLine,Name from win32_process where caption like '%google%'
================================================================================

Caption                   CommandLine                                                                  Name
-------                   -----------                                                                  ----
GoogleCrashHandler.exe    "C:\Users\OJ\AppData\Local\Google\Update\1.3.22.5\GoogleCrashHandler.exe"    GoogleCrashHandler.exe
GoogleCrashHandler64.exe  "C:\Users\OJ\AppData\Local\Google\Update\1.3.22.5\GoogleCrashHandler64.exe"  GoogleCrashHandler64.exe

Total objects: 2
```

### Verification
Using the command: `wmi_query "Select Caption,CommandLine,Name from win32_process"`
- [x] Query returns 3 columns on x64
- [x] Query returns 3 columns on x86