Ensuring the NET45WP8 target still compiles
Wrote Cache such that is is based on rwlockslim
Merge pull request #181 from flq/net45wp8fixup

a small fix for net45wp8profile compat, rwlockslim usage
CHECKPOINT:  pulling interception grammars out of SmartInstance into ExpressedInstance<T, TReturn, TPluginType>
CHECKPOINT:  rebuilt SmartInstance to use 2 parameters
CHECKPOINT:  the main assembly compiles again after the SmartInstance changes
CHECKPOINT:  all compiling except for the interception testing.  Need to apply expressed to ObjectInstance
CHECKPOINT:  converted OBjectInstance to the new expressed model
got the SmartInstance<T> expressions right so interception actually works.  Closes GH-176
eliminated a little duplication to Close GH-175
filled in a bunch of missing Xml comments.  What fun.
eliminated some small TODO's in teh code
added a multi-threaded test to try to abuse Cache.
added some defensive programming checks to InterceptionPlan to kill a TODO
removed a TODO in PluginGraph's HasFamily check
another acceptance test on interception to remove a TODO
took out a warning in the compilation
added a test harness for HttpContext scoped items.  Closes GH-183
xml comments.  Closes GH-178
added docs outline