Switch from nonClusteredParams to defaultParams for some graphviz interfacing.

Older versions of graphviz somehow allowed this mistake, oops.
Update to work with hashable-1.2
Do not use lookupDefault to report errors

It is now strict in the default argument
Have buildModule return an Either value instead of calling error

This function is useful to external callers so it shouldn't just fail.
Add high-level documentation on parsing bitcode