gh-162, gh-163 Authentication and access control

Add new system spaces _user and _priv to store users,
their passwords and their privileges.
Implement an authentication request in iproto protocol

Add a system space _func to store presistent information
about Lua functions. A function is now a subject
to ownership and privilege control.

Use MySQL-style sha1-double-hashing authentication by default.

Implement new Lua functions:

box.session.su()
box.session.uid()
box.schema.user.create()
box.schema.user.drop()
box.schema.user.grant()
box.schema.user.revoke()
box.schema.func.create()
box.schema.func.drop()

Store space creator in space definition.

What this patch doesn't implement:

- privilege checks in replication
- authentication of replication slaves
- exhaustive test coverage