Restructure PowerShell and DotNet libs

This commit separates out the core powershell mechanisms for working
with the platform from those required to work in a post-exploitation
setting. Msf::Exploit::Powershell namespace now carries everything
required for psexec_psh, and adds the DotNet namespace to generate
powershell for building .NET code ( C# works currently, VB not yet
tested). The Post namespace has been modified accordingly, and
there are no modules depending on this code in Framework as of yet.

The idea behind this separation comes from Exploit::PDF which is a
staging ground for the data format, without communication protocols
or anything network related.