Add mechanical components (screws, nuts, etc.)
Add push button caps
Add 40A MIDI fuse
Add Si7655ADN p-channel MOSFET

Will be used on servo-v4
Add resistor array and microcontroller for SBv4
Split regulators into linear/SMPS sections
Add a load of components for SBv4
Whitespace.

Change-Id: Ifb77b6a4af0610b861d1a2d6dd802014549e6b00
Emit a nicer error if 'ledger' isn't installed

An OSError that merely points you to the nested internals of our
stuff isn't very helpful.

Change-Id: Ia8841e99df9a70706ef3ced10a79758d820ee1ba
Fix #1583: Load the budget before getting user info

Introduce a custom exception for the case where the budget can't
load due to a missing config file. Detect this in make_purchase
and offer intructions about how to fix the issue.

By checking this upfront, we ensure the user doesn't waste time
entering information we can't use.

Change-Id: Idef7772c7edf1add9a2edabe245b42d75997a00f
Introduce sorting of the budget diff lines

This makes it easier to find the line you're interested in.

Change-Id: I48adf0f64ec1492ce92fcf3f1e61bdf478eebd30