automatic Peierls phase calculation
TL;DR This MR adds support for automatically giving you the Peierls phases, given a magnetic field.
The work has been happening over here.
We have algorithms that appear to work for finite systems, infinite systems, and finite systems with leads, however this MR only deals with the first case; the other functionality will be added in followup MRs.
The reason for this split is to concentrate on the relevant algorithmic details here.
Closes #19 (closed).