Multiple updates

Switch to using new ini class instead of global $site.

Cookies updated to allow settings httponly and secure paramaters,
and set expires in a variety of ways.

json_response::send() checks if there is a response and exits
with a status of 403 if not.

login::logout() now only affects itself. No changes to $_COOKIE
or $_SESSION.

mime_type(), extension(), and data_uri() added to functions.php

Moved cache class and boostrap method custom.js > functions.js

Can now handle session and local storage, console.log and
console.error, new <script>s, and eval() via json_response and
handleJSON.

New cache class in functions.js using localStorage

ajax() now has cache property. If set, check if cache has
data.cache. If so, skip the request and success(cache.get(data.cache)).
Else if is set and not found, cache.set(data.cache, resp.trim())

This allows for ajax to work in some situations offline, but anything
requring the server to do something (submitting forms or dynamic
content) should not be cached.