Work in progress commit for table_for
Fix -> support in Proc; add #source_body
WIP Refactor components to support greater capabilities
Tests passing except for the new table_for tests

Refactoring notes:

- Get rid of class level rendering - no more opaque logic
- All logic appears in the generated code
- Base component inherits from Expander so fragment
  expansion has access to the Component's methods
- This solves the problem we keep in encountering which
  is that Comonent initialization data must be passed
  around
- Gets us closer to the pattern we want which is that
  a template is a hierarchy of objects that compile down
  to just strings, substitutions and view logic

- for_each and wrap_with
 - must be reimplemented to work during compile stage
 - using_logic goes away
 - declarative methods for procedural logic in the view
   may be available to template code

Estimated time to complete 2 days.
Format HTML output by default.
 - Can be disabled via environment setting ENV ET_NO_INDENT_MARKUP to 'true'
 - Disabled by default in test_helper so tests don't have to have
   to think about whitespace
 - This disabling can be overridden inside a block passed to
   Tag.formatted
Adjusted performance threshold since recent changes impacted performance
Fix whitespace issue in test
WIP: table_for
Rudimentary table_for works, tests all green
Clean up dead code from refactor
This should not be in the repo yet
Whitespace
Merge branch 'master' into complex_components

* master:
  Version v0.2.7 bump
  Add test for void tag
  Add test for doctype tag
  Use + sign to join void and non-void tags arrays
  Update the tag file
  Separate the TAGS into VOID_TAGS and NON_VOID_TAGS

Conflicts:
	lib/express_templates/markup/tag.rb
	test/markup/tag_test.rb
Remove more dead code
Merge pull request #3 from aelogica/complex_components

Better support for complex components