errors while decoding latin-1 characters, in addition to exposing extra information

I experienced issues decoding German Umlaut characters, where the error was that they didn't exist in the ASCII character set. This was fixed by adjusting ASCII decodes to latin-1. This doesn't (or shouldn't) have any effect on characters within the usual ASCII range, but adds some additional flexibility.

I've also exposed some additional information through the main classes in Registry.py, namely the name of the hive through the Registry class and the number of values and subkeys under the RegistryKey class (mainly for convenience).

The latin-1 decoding shouldn't have any side effects but it may be worth testing further?