Improve handling of local variables out of range.

Better messages, and better distinction between non-existing locals and locals out of range.
Now supports different locals with same name and different range.

Plus improve failure handling on PopFrame.