Renamed SubjectTester to SpecificationTester

It was really confusing before what is a Subject in SubjectTester and
what is a testSubject in EnvironmentHandler. In fact, for most test
frameworks those things are different. Thus, this renaming should bring
more clarity to test framework writers (hopefully).
StepContainerTester passes container during environment isolation

For Behat, actual testSubject (or point of isolation) is a scenario or
outline example itself, not the whole feature. This doesn't make any
technical difference for how Behat's EnvironmentHandler works, but
hopefully will clarify things a lot to custom frameworks writers that
read Behat code as a reference point.
Behat\Testwork\Subject moved to Behat\Testwork\Specification

Following previous changes, it makes sense to group all specification-
related functionality under the consistent Specification namespace.
Following this new rule:

- Behat\Testwork\Subject\SubjectFinder became
  Behat\Testwork\Specification\SpecificationFinder

- Behat\Testwork\Subject\Locator\SubjectLocator became
  Behat\Testwork\Specification\Locator\SpecificationLocator

I think new namespace and names do much better job at communicating
their objects intention and clarifying the extension points.
Merge pull request #447 from Behat/optimization/subject-to-specification

Renamed Subject to Specification