Fix incorrect device name being raised.

`device` was being used as an index variable in a for-loop, overwriting
the value that was passed in, causing the in-use exception to point to
the wrong device.

The solution is to use a different variable name, in this case
`device_path` as the index variable.

Other cleanups include:

* Update to test to ensure exception message points to correct device

* Simplify for-loop by using set to collect letters, instead of a list
  which is later turned into a set

* Added blank lines to improve readability in particularly dense
  sections

* Made `req_letters` and `_get_unused_letters` singular because they, in
  fact, are.

Change-Id: Iad33f7ff0c109c6cea5df84d54c11cee750bf19d
Merge "Fix incorrect device name being raised."