Many commits...

Split out web application into seperate codebase.
Updates to Application and Environment API: using numeric keys, mapper pattern for persistence.
Added Host API.