Fixes list removal issues and dictionary value types

When removing item from a list I must remove from the end first, since the list changes length during iteration causing and IndexError to be raised. Additional a test was wrong so the problem wasn't caught.

Additionally dictdiffer wasn't well-behaved when a dictionary had two different value types for the same key.

Also added tox and travis configuration.