Fix for issue #77. Clean and commented code.

Fix Local allocation when use-original-names is
enabled and the LocalVariableTable contains
variables with different indexes and overlapping 
bytecode ranges but same name.

However if the table contains other kind of 
inconsistencies, the Local allocation won't be 
sound when use-original-names is enabled.
(see the large comment in this commit about why
and how to fix this in the future).

Also fix potential Local allocation problem with 
wide local store byte codes when enabling 
use-original-names.