add extra swd element methods; support for a block
add history and version bump
large rewrite/refactor that includes caching of elements and more thorough checkers, as well as updated tests