Add within method for sections to allow block syntax in test code

This makes for shorter test code when working within nested sections.
 - similar to Capybara's within

Compare:
```ruby
@page.top_section.child_section.should have_element1
@page.top_section.child_section.should have_element2
@page.top_section.child_section.should have_element3
````

```ruby
@page.top_section.child_section.within do |child|
  child.should have_element1
  child.should have_element2
  child.should have_element3
end
````
That's been done in several places throughout the test-suite.  I think it was done for https://github.com/natritmeyer/site_prism/commit/3ba7944a104804f825fc9e1f48d4bda785a0a7a9 which added these duplicate checks throughout the test suite to validate passing options (capybara filters) through.  I see why that was done, but I'm not super-happy with it since the intention is not very obvious.

I can take it out here if you'd like, but I think we should really consider refactoring some of this; we're testing that feature _all_over_ rather than in its own feature-specs.