Add EvaluationListener extension point to allow FSI evaluation bindings to be notified

Extension is via FsiEvaluationSessionHostConfig and the
EvaluationListener callback.
Move FsiValue above FsiEvaluationSessionHostConfig so it can be
references by EvaluationListener function.
Add DisplayContext to the EvaluationListener

This allows the current display context to be used to format
FSharpTypes correctly with respect to the current open module/namespace
set.

Temporarily moved the EvaluationListener notify to the
EvalParsedDefinitions function as there’s an issue where the current
open set of namespace/modules is not in the current state at the point
the generatedValueLayout continuation is constructed.
Updated FsiEvaluationSessionHostConfig to use an IEvent rather than a ref cell action

Also added EvaluationDelegate, and EvaluationEventArgs to support the
event.
Removed unnecessary delegate in implementation
Fixed sample project that was using FCS changes to fsi configuration
Merge pull request #251 from xamarin/binding_event

Add OnEvaluation event to FCS to allow detailed information to be exposed.