added a thing back to factory

...even though we're not really using it anymore, so.
made part number search do errors better.
built more of the part object

added constructors since we're no longer using the factory, and removed
the ID property for the same reason. also changed some types around and
made them nullable. then tidied up the part load() from database method.