HTTP auth module

Adds standard HTTP auth module that can interface directly with external REST API compliant with specifications.

**Not ready for merge yet!** PR created for Travis check and easy diff browse.
This macro is handy, but makes the code unclear (in my opinion). I'd rather use an inline function returning 2 elements tuple.

```erlang
{LUser, LServer} = prep_user_server(...)
```