Improve the API for blocks

Rename a few methods in Assembly and AssemblyBuilder. Introduce the
Block and BlockEvents classes.