Initial commit of new text output
Move text formatter to separate class

Makes testing easier as well.
More complex tests for text output
Recursively process list elements in text output
Update text formatter to stream pages
Add --query arg for filtering results

This allows a user to specify how he'd like the results filtered.
Add a test for jmespath query

This also included some refactorings to make testing the
CLI output easier.
Update table renderer to work with jmespath queries

Particularly with nested list of lists.
Print expected and actual response in table output tests
Fix unicode issue with text output
Use public property for paginator result_keys

This was implemented in
https://github.com/boto/botocore/commit/e9de8f6eeb6456df46ee99f7c38744c6ef074a50.
Remove print() statements from unit tests

These have been moved to failure messages, as per review feedback.
Merge branch 'improved-text-output' into develop

* improved-text-output:
  Remove print() statements from unit tests
  Use public property for paginator result_keys
  Fix unicode issue with text output
  Print expected and actual response in table output tests
  Update table renderer to work with jmespath queries
  Add a test for jmespath query
  Add --query arg for filtering results
  Update text formatter to stream pages
  Recursively process list elements in text output
  More complex tests for text output
  Move text formatter to separate class
  Initial commit of new text output