TEST: Goal test for `New-Object`

Currently failing.
REFACTOR: Avoid using `ToString()` as part of an class's contract.

`ToString()` is great for diagnostics but it's a bit dodgy for other
uses. For example, it can't be localized, so it shouldn't normally be
showing in the UI.

One that I would have liked to fix, but did not, is in
`GetMemberCommand.ProcessRecord()`:

    members.Add(new MemberDefinition(fullName, info.Name, info.MemberType, info.ToString()));

It was beyond my understanding to pick a good fix, so I let it go for now.
REFACTOR: LINQ-ify `CommandManager.LoadCmdletsFromPSSnapin`
Remove error supression from `CommandManager.LoadCmdletsFromPSSnapin()`

This code would take exceptions and turn them in to `Diagnostics.Trace`
messages, which i'll never see unless I think to look for them. Meanwhile,
I spend an hour chasing down some obscure bug.

We're not hitting exceptions here at the moment, so it looks safe to rip
this code out. And now, when I break something, I'll notice a little
faster.
REFACTOR: LINQ-ify `CommandManager.FindCommands`
A little bit of `New-Object`

- No value types
- No ctor parameters
- No COM objects
- No unreferenced assemblies
- No assuming 'System' namespace.
`System.` prefix is optional.

Now you can do `New-Object Foo` for `System.Foo`.
`New-Object` is case-insenstivie
`New-Object` on something not in `mscorlib`.

`Type.GetType()` looks in the current assembly and in `mscorlib`. If you
want something different, you have to use `Assembly.Load().GetType()`.

In this checkin I also create a Spikes project. It's full of NUnit tests,
but it's not about learning. It's a place to learn by experimentation. The
experiments can be saved, as an easy way of recording what we learned.
Mark new Spikes project as framework 4.5

Required for Mono.
Remove assemblies from `New-Object` that won't be available on Linux/Mac.
Merge branch 'New-Object' of https://github.com/JayBazuzi/Pash2 into New-Object
`New-Object` for value types.
Pass a parameter to the ctor in `New-Object`

This works:

    > New-Object System.Version "3.4.5.6"

this doesn't work yet, but should:

    > New-Object System.Version 3,4,5,6
Merge pull request #37 from JayBazuzi/New-Object

`New-Object`