updated code documentation
updated 3rd modules
migrated to expressjs
added initial role management
removed webshot in favor of more direct communication with phantom, ergo more flexibility
added new config features to PDF generation
now PDF() uses render.js (a brigge under phantomjs to render pdfs.)
Simplified pdf method list
Updated 3rd modules.
Simplified create pdf
Deprecated PDF() class. had no much sense.
Refactored .get() PDF. a client shoud not request a filename, instead should send us the params, then we search a file that matches with then and his client account
Second part of : Refactored .get() PDF. a client shoud not request a filename, instead should send us the params, then we search a file that matches with then and his client account
added "UIClient" on app init to have a client UI for the api. its a normal appclient but have a role with many perms.
added roles for two kind of clients: who consume services (generate pdf) and who act as component of the app (eg: UI )
worken on '/user/register' api call.
changed UserSchema to match to business logic.
changed AppClientSchema to match to business logic.
signedDecodeAndParse() now treats with real appclients (until now we used a fake client for test while we were developping)
changed db name to pdfmiweb :S
Updated 3rd modules
Añado metodos genHashPassResetByEmail() y resetPassByHash() al User del sdk para poder generar hash de reset (que luego se enviaria por email por ejemplo) y resetear el password usando ese hash respectivamente.
Implemento la logica de reseteo de password para usuarios.
Implemented API user update verb.
Replaced routes "/user/login" and "/user/register" by "/user". now the action is defined by HTTP verb.
Doc user model.
Updated/revised code documentation
UserModel:
  changed user and pass by username and password.
  added "active" field to add an activation step before give full functionality.
  removed passRecoverHash field
  removed genHashPassResetByEmail() and resetPassByHash(). this kind of task been delegated to the UI client. This API only must know how to manage users and not apply business logic.

User API:
  get: standardized status codes
  post: now returns the created user.
  put:
    better field checking before update an user.
    now update can be performed using username or email (unique keys in the schema). credentials now are delegated to de API caller (with role appcomponent for example.)

removed "/user/retrieve-password" and '/user/pass/reset-by-hash'. see UserModel comments to know why.
Now user API has a new endpoint GET "/user/login" to separate from GET "/user". which is different functionality.
Split Client schema and model into 2 modules to easy integration with User schema.
Added Client documents as sub doc of User.
3rd modules updated.
Added validation modules. not in use yet.
POST /client now created clients
GET /client/list now returns list of user client.