Updated various callback handlers so if an exception occurs, it doesn't propagate outside of the Mono runtime.
BPSHandle now is thread-safe for releasing it's handle.
Implemented BPSEvent Dispose, DangerousGetHandle, Domain property, and Code property
Added a cleanup callback for BPS so that any allocated pointers (GCHandle) within BPS are freed on final shutdown if not freed manually.
BPS now throws ObjectDisposedException if any function is used after BPS has been disposed.
Added ability to add and remove "file descriptors" to BPS and extension functions to support .Net types such as FileStream and Socket.
Added ability to get and set domain data to BPS.
Added ability to get events from the active channel for BPS (including async versions)