Shorten long device names and pad to align nicely

Device names that are very long (eg, >20 characters) are usually
encrypted luks containers. For example:
  /dev/mapper/luks-1c3d4fe2-398c-82bf-ff73-9301029e039f

We don't really need to show this whole string. Instead, we can remove
the /dev/mapper prefix, show the last 6 characters, and as much of the
start of the string as we can without exceeding a 22 character limit.
We can also apply some padding so that all of the device labels align
vertically, which makes things easier to read.

A new show_full_device_names option is available in bashmount.conf and
defaults to '0'. The full device name can always be seen by selecting
the device, so the device sub-menus are not affected by this option.

This was also a good opportunity to refactor some of the repeated code
into a print_device_names() function.
3.2.0