Fix build for Mono on Ubuntu

When I downloaded your project, I was unable to build on my Ubuntu 10.04 VM. Technically, `make` still fails, but I've made significant progress, so I wanted to share what I've got.

Remaining issues:

* `build.proj` refers to a task called `FindLastDirectory`, and this does not appear to be available on my system. This is only used by the testing target, so I was able to continue without it.
* While `ZeroMQ.SimpleTests` works just fine, `ZeroMQ.AcceptanceTests` fails with the following output:

```
Specs in ZeroMQ.AcceptanceTests:

Forwarder, when using forwarder device with full subscription

Unhandled Exception:
ZeroMQ.ZmqSocketException: No such file or directory
  at ZeroMQ.ZmqSocket.Receive (System.Byte[] buffer, SocketFlags flags, System.Int32& size) [0x00000] in <filename unknown>:0 
  at ZeroMQ.ZmqSocket+<Receive>c__AnonStorey10.<>m__28 () [0x00000] in <filename unknown>:0 
  at ZeroMQ.ZmqSocket.ExecuteWithTimeout[Byte[]] (System.Func`1 method, TimeSpan timeout) [0x00000] in <filename unknown>:0 
  at ZeroMQ.ZmqSocket.Receive (System.Byte[] buffer, TimeSpan timeout, System.Int32& size) [0x00000] in <filename unknown>:0 
  at ZeroMQ.SendReceiveExtensions.ReceiveFrame (ZeroMQ.ZmqSocket socket, ZeroMQ.Frame frame, TimeSpan timeout) [0x00000] in <filename unknown>:0 
  at ZeroMQ.SendReceiveExtensions.ReceiveFrame (ZeroMQ.ZmqSocket socket, TimeSpan timeout) [0x00000] in <filename unknown>:0 
  at ZeroMQ.AcceptanceTests.DeviceSpecs.when_using_forwarder_device_with_full_subscription.<context>m__24 (ZeroMQ.ZmqSocket sub) [0x00000] in <filename unknown>:0 
  at ZeroMQ.AcceptanceTests.DeviceSpecs.using_threaded_device`1[ZeroMQ.Devices.ForwarderDevice].<context>m__4C () [0x00000] in <filename unknown>:0 
  at System.Threading.Thread.StartInternal () [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: ZeroMQ.ZmqSocketException: No such file or directory
  at ZeroMQ.ZmqSocket.Receive (System.Byte[] buffer, SocketFlags flags, System.Int32& size) [0x00000] in <filename unknown>:0 
  at ZeroMQ.ZmqSocket+<Receive>c__AnonStorey10.<>m__28 () [0x00000] in <filename unknown>:0 
  at ZeroMQ.ZmqSocket.ExecuteWithTimeout[Byte[]] (System.Func`1 method, TimeSpan timeout) [0x00000] in <filename unknown>:0 
  at ZeroMQ.ZmqSocket.Receive (System.Byte[] buffer, TimeSpan timeout, System.Int32& size) [0x00000] in <filename unknown>:0 
  at ZeroMQ.SendReceiveExtensions.ReceiveFrame (ZeroMQ.ZmqSocket socket, ZeroMQ.Frame frame, TimeSpan timeout) [0x00000] in <filename unknown>:0 
  at ZeroMQ.SendReceiveExtensions.ReceiveFrame (ZeroMQ.ZmqSocket socket, TimeSpan timeout) [0x00000] in <filename unknown>:0 
  at ZeroMQ.AcceptanceTests.DeviceSpecs.when_using_forwarder_device_with_full_subscription.<context>m__24 (ZeroMQ.ZmqSocket sub) [0x00000] in <filename unknown>:0 
  at ZeroMQ.AcceptanceTests.DeviceSpecs.using_threaded_device`1[ZeroMQ.Devices.ForwarderDevice].<context>m__4C () [0x00000] in <filename unknown>:0 
  at System.Threading.Thread.StartInternal () [0x00000] in <filename unknown>:0 
```

I looked *very* briefly at the methods in the stack trace, but there was nothing obvious, and the failure is not yet blocking me, so I left it alone.