[NODEJS-1598] PoC of acs-node-sdk Rework

## Ticket Information
***JIRA Ticket***
https://jira.appcelerator.org/browse/NODEJS-1598

***Description***
This PR is about to raise a PoC of ACS Node SDK rework. It re-designs framework of acs-node-sdk, and supports multiple instances. It also provides a way to list all available ACS objects and methods including doc url for a good reference. Test framework with travis-ci is added too for a good and automatic test.

Since this is only a PoC, I only implemented ACS object "Users". If this way is towards to a good direction and passes code review, we will add all other ACS objects later.

## Get started
Please refer to readme file https://github.com/realpaul/acs-node-sdk/blob/NODEJS-1598_ReworkPoC/README.md for a general usage.
I think it's much more complicated to have two patterns and I agree with @jhaynie that I'd like to create a single instance when my app first starts and then reuse that instance for each call. In fact, I wouldn't even want to mess with this `cookieString` stuff on each call. I'd want to create a per-user instance of the SDK at the beginning of the request and then attach that to the express req object. It would look something like this:

```javascript
var app = express();
var ACS = require('acs')(ACS_APP_KEY);

// create a lightweight per-user instance of the SDK for every request
app.use(function(req, res, next) {
    if (!req.session || !req.session.cookieString) {
        // need to login
        return res.status(401).end();
    }

    req.acs = ACS.createFromCookie(req.session.cookieString);
    next();
});

app.post('/login', function(req, res) {
    // This is the only portion of application code that deals with login
    // and cookies.
    ACS.login({
        user: req.body.user,
        pass: req.body.pass
    }, function(err, user) {
        if (err || !user || !user.cookieString) {
            return res.status(401).end();
        }
        req.session.cookieString = user.cookieString;
        res.send(user);
    })
});

app.get('/show_me', function(req, res) {
    // my actual application code doesn't have to deal with cookies or login,
    // it just assumes that that's taken care of and makes a request. If 
    // the user isn't logged in, we should never get here.
    req.acs.showMe(function(err, me) {
        res.json(me);
    });
});


app.post('/post_photo', function(req, res) {
    // this other function also doesn't have to mess with login or cookie stuff.
    req.acs.postPhoto(req.body, function(err, photoInfo) {
        if (err) {
            //handle err as usual
        }
        res.json(photoInfo);
    });
});
```