rewrite of core functionality

core functionality replaced with a more direct approach to creating
expectations
removed state, record and replay constructs

it is important to note that not all of the features were rewritten
more work is needed
added "throws" to expectation

expectation options now supports throwing an exception when the method is
called
changed to method names to convey their intent (handling methods)
completed throws and ignore arguments options

throws and ignore arguments are now implemented
changed the "generation" methods to simply "mock" which reduces the number
of choices/alternatives to create a mock object
considering adding the "strict" construct as a part of the verification
(e.g. VerifyExpectationsStrict)
added 'Assert Was Called' functionality

the actual method name is 'WasCalled' which will be converted to the
actual name 'AssertWasCalled' once everything is converted over

this required tracking all method calls made against a mock
tracking the method calls will also allow for 'When Called' functionality
initial conversion to new implementation

the core of Rhino Mocks has changed to a new approach to mocking
a core set  of unit tests have been modified to implement the new
constructs
the majority of the "field problem" unit tests have yet to be modified
modifications to handle properties

added the ability to handle auto-properties and expectations against
properties
new extension method 'ExpectProperty' specifically handles properties
which allows for better controller over treating properties as methods

there is a story to add 'Repeat' style functionality to properties but at
this time they have not been added
added 'WhenCalled' functionality

'WhenCalled' provides the ability to invoke a delegate when (and only
when) the expectation is matched against a method call
'WhenCalled' is executed prior to any other calls to allow for arguments
to be modified if needed
added expectations for events

events have a limited set of options available due to the intent of the
expectation itself
this may need more attention in the future
added raise event feature

events on mocked instances can be raised (or called)
modification required tracking of subscriptions (add and remove) and the
ability to retrieve them
fixed  property behavior and out/ref support

property expectations are finalized and by default will support the
dynamic property feature
added the out/ref support
completed when called, do instead and remoting

the "when called" feature was modified to include a call with the method
invocation data structure
added a new "do instaed" feature which takes a more simplistic delegate
versus an action or method invocation
corrected an issue dynamic invocation issues due to parameter type
mismatch
corrected a few issues with mocking remoting objects
completed do instead, multi mocks and remoting

added the do instead construct which allows for a delegate to change the
return value of the expectation
this is different from the when called and intercept extensions which do
not allow the return value to be changed (actions)
added the multi-typed mock tests back
added the remoted object tests back
included 14 unit tests, fixed equals and ctor

corrected stackoverflow issue where the equals method is overridden
this was an issue that was already corrected in the previous version and
made its way back
corrected issue where methods executed within the constructor were causing
strict validation to fail
also added a helper method to create a remoted object from an interface
corrected event expectation (subscription) issue

when raising an event the event method handler was not using the correect
collection to identify the expectation
the code was checking to see if an expectation was set but was not using
the correct collection to index into the expectations

field problem unit tests were updated to follow the new constructs
some unit tests were removed do to tests focusing on record/replay
features that are no longer available
corrected assert exceptions, method and properties

identified an issue similar to the event expectations where the wrong
collection was being used to iterate over
corrected the assertion calls to throw the correct expectation exception
spent a lot of time with the events (again)
moved extensions to project root

rather than having the repository extensions off in its own folder, its
easier if its in the root folder
added 11 more unit tests

have found a concerning issue with the expected versus actual count
there seems to be a mismatch between how properties are handled versus
methods and calling original methods
this may require more analysis to identify a better approach
added remaining unit tests and removed invalid

also corrected an issue with 'when called'
the when called feature was not validating the arguments for the given
delegate matched the method parameters
removed unit tests that are no longer valid
updated xuint to version 1.9.2

clearly there have been some changes from the previous version to the
latest stable version
assert.throws now no longer takes a string as a parameter which was being
used heavily to validate the exception message
odd thing was that even in the previous version of xunit, this feature
was not doing what was expected
updated psake to latest version

also modified the license to reflect the contributions and to prepare for
the next version