Allow user to specify different flags for queue and push strings rather than Buffer objects

When calling `mq.open()`, a user may now specify an integer flag to pass through to the call to `mq_open()`. This is useful if the queue must be opened readonly or writeonly.

Example:
    
    mq.open({name: '/pmqtest', flags: 2049});  // O_WRONLY | O_NONBLOCK

----

The user may also now choose to push a string without first converting it to a Buffer object.

Example:

    var writebuf = new Buffer("Message to push");
    mq.push(writebuf);

or

    mq.push("Message to push");