Bugfix: modify failed to produce nice error

Also:
* Now allowing to call mapClass() twice on the same table instance.
This must be possible when a derived class of the already registered
class should be mapped.
Bugfix: Upgrading Framework failed adding indexes

For a long time the unit tests for the upgrading framework was on my
todo-list. As I was migrating the product of my company to be using
Dexie, I stumbled into something that seemed like a bug in the Dexie
upgrading framework; I could not add an index on an existing store. The
upgrading framework didnt complain but when trying to use the index, I
got NotFoundError up in my face. The thing that wasnt found was the
index I was trying to use.

So, I did my work and wrote a quite regisous unit test for the upgrading
use cases. It turned out to be a lot of issues with it. Now they should
be solved. I also removed the feature to be able to change the name or
property of the primary key of an object store. The reason for removing
this feature is that it is associated with lots of complexity since it
has to copy the entire table to a temp-table and then delete the
original table and copy back from temp table. On top of this is the bug
in IE that makes deleteObjectStore() fail once you have read from the
store. This is something that can be done by some workarounds but I have
not time to do it now, so I feel it's better to remove the unused code
for now and maybe implement that later. It's not a killer feature, is
it?