Wow, what a pain.  I wonder if we shouldn't rework how SI prefixes are handled.  Rather than making `prefixes=` a boolean option when defining units, makes `prefixes` accept a *dictionary* mapping unit names/abbreviations to a list of allowed prefixes.  For example, in the definition for byte:

```
prefixes = {'B': ['k', 'M', 'G', 'T', 'P', 'Y', 'Z', etc....],
            'byte': ['k', 'M', 'G', etc...]}
```

There could be shortcuts available if all spellings of the unit take the same prefixes.  There should also be a few constants defined like a list named `SI_PREFIXES` so that one can easily assign `prefixes=SI_PREFIXES` for units that accept all standard SI prefixes.  *sigh*