Rename AbstractBlock to Block; Block to CoreBlock

This renaming makes the API package much clearer, since the highest level block
abstraction is unqualified, and specializations of it are given qualifiers.