Squashed 'External/Expecta/' content from commit abc3d83

git-subtree-dir: External/Expecta
git-subtree-split: abc3d83283fdc3942413e2f3603be6dbb2fe44b8
Adds Expecta as a subtree.

Merge commit 'ee2611e2c2b3e5c3bada41c8d8ac5fc98d8d12ef' as 'External/Expecta'
Adds Expecta as a dependency of Lagrangian.
Adds Expecta to the project.

Expecta assertions can now be used in test cases.
Implements support for Expecta test failures.

- Source references have a reason string. The OCUnit formatter logs this, and when they are created with a regular L3 assertion, they construct the appropriate reason string using the subject, subject source, and pattern source.
- L3TestRunner calls new L3TestCase API to give it an opportunity to record the test state.
- An OCUnit-compatible NSException category is added to construct exceptions with source location information.
- L3TestCase listens for Expecta failure exceptions, and submits them to the test state’s event observer.
Removes Expecta, now that it works.
Merge branch 'feature/expecta' into develop