Always give Parameters names (even if we make them up)
Factor out parameter name generation code
Improve haddock structure
Add the basic instances for our SSA IR types
Record the sequence number of BasicBlocks

These are useful for rendering blocks sensibly.
Change `classParent` to a Type instead of a Class

The Class form was nice but the parent class definition isn't always
available in the Dex file.  Instead, record the parent class type
(if any).  Also include a reference to the parent class that is
present if the parent is defined in the dex file.
SSA pretty printer draft
Make DecodeError Typeable
The dexIdentifier field isn't always populated
The Show instance for SSA Type moved
Fix translating move-exception in a finally block.

Finally clauses can have move-exception instructions (so that they can
re-throw exceptions).  Before, we were assuming that move-exception
could only occur in a syntactic catch block.
Remove a dangerous pattern match

This pattern match forced a lazy value too early and caused an
explosion.  Use it more lazily.  We could also use a refutable pattern
match here, but I think the current version is a bit simpler to
understand.
Improve association of move-result with the relevant predecessor

Before, we were zipping instructions with their successors.
Unfortunately, only successors within the same basic block.  If we had
an invoke with a move-result in a different block (due to possible
exceptional control flow), it was missed.  This later caused a crash.
Instead, use a simpler solution based on instruction absolute
indices (now that we track those).  This is simpler and more correct.
Update the SSADumper to also be able to pretty print the SSA IR