cosmetics
Merge remote-tracking branch 'forge/2.3.x' into 2.3.x
split PCIID into VENDORID and PRODUCTID

This is more consistent with USB devices.
use PRODUCTID instead of DEVICEID

This is even more consistent with USB devices...
Merge remote-tracking branch 'forge/master'
split task-specific documentation

Remove task-specific documentation from main README, and split them into
individual markdown files under doc directory.
make the Inventory class a top-level one

It is also used in ESX task, so it should not be part of inventory task
namespace.
move getInterfaces() in Tools::Win32

This function is heavily used outside of inventory task.
use Test::Deep everywhere

It just has to be imported carefully to avoid namespace collision with
F::A::Tools any() and all() functions.
more readable
task dependencies are optional
install usb.ids too
move binaries into their own subdirectory
don't forget other binaries
snmp support is a core component
reorganize tests
fix executables path
factorize execution function
more consistency in --help handling

All other command-line tools are less verbose and have 0 as exit status.
more consistent syntax