rework Block constructor, optimizations

- use options array to pass Block properties to constructor
- use left shift operator to add blocks to parent
- allow paragraph text to be passed to Block as string
- pull content_model up to AbstractBlock
- add :empty content_model
- pull up some regexps to constants
- update rdoc