Correct creation of SecurityKeys

Correct creation of SecurityKeys when provided key is null.  Generate random 128-bit symmetric key as specified in class remarks ( http://msdn.microsoft.com/en-us/library/hh137856(v=vs.110).aspx ).
In the original code, if `key != null` then it would pass `key.GetSymmetricKey ()` to the `InMemorySymmetricSecurityKey` constructor, now `key` is just passed to the array, was this intended?