Fixed BeforeFirst

BeforeFirst was behaving like BeforeEach
Fixed AfterLast to only work when there are items

Also added Before, After and AfterCounted to be executed regardless of
the presence of items.
Embrace WindowsBase

As per qwerties's modifications WindowsBase is a dependency of
Theraot.Core on .NET 3.0 and above. Theraot.Core shall not cause
conflict with WindowsBase.
Rebuild SharedTemplates (and clean up)

The new SharedTemplates does not require Theraot.Core to run.
Rename INotifyCollectionChanged.net35.cs to INotifyCollectionChanged.net30.cs
Rename NotifyCollectionChangedAction.net35.cs to NotifyCollectionChangedAction.net30.cs
Rename NotifyCollectionChangedEventArgs.net35.cs to NotifyCollectionChangedEventArgs.net30.cs
Rename NotifyCollectionChangedEventHandler.net35.cs to NotifyCollectionChangedEventHandler.net30.cs
Updated project to recent renames
Clean ups and fixes from code analysis
Merge remote-tracking branch 'origin/Develop'

* origin/Develop:
  Clean ups and fixes from code analysis
  Updated project to recent renames
  Rename NotifyCollectionChangedEventHandler.net35.cs to NotifyCollectionChangedEventHandler.net30.cs
  Rename NotifyCollectionChangedEventArgs.net35.cs to NotifyCollectionChangedEventArgs.net30.cs
  Rename NotifyCollectionChangedAction.net35.cs to NotifyCollectionChangedAction.net30.cs
  Rename INotifyCollectionChanged.net35.cs to INotifyCollectionChanged.net30.cs
  Rebuild SharedTemplates (and clean up)
  Embrace WindowsBase
  Fixed AfterLast to only work when there are items
  Fixed BeforeFirst