Refactor mdadm module/state to support all options on create.

- Utilize kwargs to support all mdadm options.
- Auto-count number of devices if left out.
- Use YAML data structure in state instead of args.
- Removes forceful array creation (moves it to arguments)
pylint fix
Added unit tests for refactored mdadm module.

- test that mdadm.create returns the proper cmd.run inputs
- test that test_mode=True does not call cmd.run
pylint fix
another pylint fix
Merge pull request #12680 from tedski/mdadm_refactor

Refactor mdadm module/state to support all options on create.