Second attempt at Bug 5747 change: Deal with possible ending "/" this time.

My first fix for Bug 5747 was reverted because it broke something with
file system monitoring in XSP.

This is a revision of that same patch, but this time i take into account
the possibility that the fsw.FullPath value could possibly end with "/".
The previous version of this commit, no longer in place, didn't factor
that in and as a result if the fullpath ended in "/" we would cut the first
character off filename by virtue of the "Length + 1" substring.

The purpose of this patch was to fix the following problem:
files/directories modified in subdirectories were coming back with
just the file NAME and not subdirectory path.  This patch modifies
the filename so if you get an alert on a file in a subdirectory 'mysubdir/file1'
you would get 'mysubdir/file1' rather than just 'file1', for whatever
direcotry (fullpath) you are watching..

Please note, i tried but i can't get XSP from git to use my local development
version of mono -- as a result i couldn't test against XSP.  Instead, i tested
against the bug report source sample both with and without a trailing '/'
separator.  Prior to this revised version, if full pathname ended in a trailing
'/', and you modified 'file1' you would get back 'ile1' a as the filename if
the prior patch was applied.

Someone may want to test against xsp before accepting this revised submission
Add directhex's debian packaging metadata repository as a submodule, to help with MonkeyWrench integration.
Add external directory, so Debian submodule works.
Update Debian submodule to usable version.
In KeventWatcher ProcessEvent we were passing null for changedFsi, incorrectly

We had a fsi value for changedFsi, but we were passnig null for it when
calling PostEvent.  This patch corrects that.
Whitespace fixes
Implement SemaphoreSecurity.
Implemented PipeSecurity. GetAccessControl, SetAccessControl, and ACL-containing constructor overrides now work on pipes.

On another note, after writing a test I discovered Asynchronous pipes appear to be completely broken on Win32.
The class does not correctly handle overlapped I/O. This patch doesn't fix that.

One other fix in this patch, the DllImports for Win32 pipes did not have SetLastError set.
So, they were unable to return a meaningful error in the event of failure. This is now fixed, and
UnauthorizedAccessException correctly throws for pipe connects denied by ACL (necessary for PipeSecurity test).
Merge pull request #382 from JamesB7/system-security7

Semaphore and Pipe ACLs
This version of CommonObjectSecurityTest should not use AccessRule<T> or AuditRule<T>
(just included simple specializations accomplishing the same).
Merge pull request #383 from JamesB7/system-security6

This version of CommonObjectSecurityTest does not use corlib AccessRule<T> or AuditRule<T>. Should unbreak it for .NET 2.0...
Better error message
Compare type definitions when checking nested type accessibility.
Only compare values if postdata for the checkbox is actually recieved
Merge pull request #384 from miraclespain/master

Tests passing regarding modifications to System.Web.UI.WebControls.CheckboxList
Restore id-buffer when after probing async keyword. Fixes #6037
Fix infinite loop when parsin unclosed generic type declaration arguments
Better error reporting for missing using directives
Sanitize sgen's collection trigger internal API.

	* sgen-gc.c: Sanitize all collection triggering functions in
	just two. Make it possible to trigger a major GC before a minor
	overflow happens.
Clear some dead code.