RADIUS: Added support for session-timeout attribute.
RADIUS: Added support for session-timeout attribute.
Merge branch 'radius-timeout' of https://github.com/Oooska/pgina into radius-timeout

Conflicts:
	Plugins/Contrib/RADIUS/PluginImpl.cs
Updated Configuration UI and Settings options to support new features.

Replaced getIpAddress() method in PluginImpl.cs, method now returns the mac address and ip address
Ignore entries that are not GUIDs in the registry list of
credential providers.
  - Fixes #210
Added support for customizable called-station-id, nas-identifier. Added session-timeout support. RADIUS plugin returns the error message reported by the server to pGina.
Abstracted attribute-value pairs (AVP) from Packet, making it a subclass. Multiple attribute types of the same kind are now properly supported.
-Corrected config ui loadding incorrect values
-Updated RADIUSClient to give access to AVPs as byte arrays
-Added add'l debug info for vendor-specific attributes
-Force interim updates now works at the correct speed, instead of 1000x
faster.
-Added session.active attribute to indicate when an account has logged out
to stop rogue interim updates.
- Implemented account-sssion-time in Packet.cs

- Correctly specifies NAS-Identifier/NAS-IP-Address values during
  interim-update in Packet.cs.

- Added option to disablee accounting for non-RADIUS authed users in
  Settings.cs and Configuration.cs.

- Added static decode methods for devoding vendor-specified attributes in
  Packet.cs

- Incomplete wispr-Session-Terminate-Time support
- Added additional info to accounting packets.
- Corrected account-session-time value
-Added support for wispr-session-terminate-time
-Removed unnecessary debug info
Merge pull request #223 from Oooska/radius-timeout

Radius Plugin Update
Update solution and C++ projects for VS 2013.
Fix bug with unlock scenario.
 - Fixes #227
New plugin: DriveMapper
  - Notification-based plugin
  - Should be a good companion to the SingleUser plugin.
  - Allows mapping of multiple drives at logon.
  - Uses user impersonation by pInvoking ImpersonateLoggedOnUser
  - Does impersonation in a separate thread for safety.
Cred prov. UI changes.
  - Hide username/password fields and display a waiting message when
    service is not available.
  - When service is available, show username/password fields and
    hide the service status.
Add null checks for empty username.
  - Fixes #220
  - We should consider setting the username/password to empty strings
    in HandleLoginRequest (Service.cs) when they are null.  Otherwise,
    plugins can't rely on these values being non-null.
Fix change password scenario when service is unavailable.
  - Hide the new password fields when the service is not
    available.
Remove unnecessary if statement.
Option for hiding username/password fields.
 - Add options for hiding either or both of the username
   and password input fields.
 - Remove the option to disable/enable the MOTD, because we need
   it to attach to the submit button if both username and password
   fields are disabled.  If users don't want a MOTD, they can just
   leave it blank.
 - Resolves #219
 - This should make it easier for plugin developers who want to support
   things like smart cards, biometrics, etc.
 - Configuration options placed under "Credential Provider Options" tab.