Add shared example specs for required attributes

It is a common case when testing commands that there is a list of minimum required attributes in the database validation which can differ from the command validation. This adds shared examples which can programmatically test that the minimum case works, then that removing any one attribute fails.

Note that this will not catch cases where the command validation is stronger than the database validation.
Fix inconsistencies in commands for required attributes

This fixes the standardization of commands. This includes using 'hw-info' instead of 'hw_info' in several commands, although the old style will be conformed for backwards compatibility. The relevant spec tests are also updated to use the standard for checking required attributes.
Update specs to check required attributes

This updates the rest of the spec tests to use the standard way of checking required attributes.

Fixes https://tickets.puppetlabs.com/browse/RAZOR-221