Use ordered dictionaries to represent SVD file

- keeps peripherals, registers, and fields in the order defined
  by the SVD file
Remove redundancy in output

- only print description fields if they don't exactly
  match the register/field name
Remove 'o' from octal format

- just use a leading 0 to match standard C usage
Better column formatting for 'svd' command

- pad column with spaces to make output more legible when there are
  lots of peripherals
Better formatting for peripheral and field output

- column width adjustment
- description on same line