Creates a new array from the current one, with all occurences of the provided arguments ommited.<br>
For example: <em>[1,2,3,4,5].without(1)</em> will return <em>[2,3,4,5]</em>
and <em>[1, null, 2, null, undefined].without(null, undefined)</em> will return <em>[1, 2]</em>
@param {Array} a The Array object to operate on.
@returns {Array<*>} A shallow copy of the array with the provided arguments ommited.
@function
function without () {
                    var args = libs.object.toArray(arguments),
                        a    = args.shift(),
                        res  = [];

                    if(!(a instanceof Array)) return a;
                    libs.object.each(a, function (v) { if(args.indexOf(v) === -1) res.push(v); });
                    return res;
                }