Code refactoring and load map of manufacturers with csv file.

The main goal of refactoring is to make decoding module more error-tolerant. Now if some property has no value, None is returned.
Another point is validate vin on initialization. If Vin is not proper, then `BadVin` exception is raised.
Finally, added csv file of wmi->manufacturer.