token bugfix: isEnabled wasn't set properly in buttonToggle
optional tokens: add nopt support, keep disabled tokens in token array

-add %nopt-token-keyword tokens for all disabled optional tokens
-since we need disabled tokens too, keep all tokens in token array, not
only disabled ones
-go(): check if token is enabled
token: extract methods enableToken(), disableToken()
app: initialize token array correctly
App: return true in event handler {de,}registerToken

stop event propagation
AddressToken: overwrite {enable,disable}Inputs

An AddressToken doesn't have an input itself, overwrite methods to
prevent exception
App: check if token is topToken

Only topTokens are parsed, non-topTokens are ignored (i.e. only its
subtokens are used)
Token: add subTokens

-add subtokens array
-add method addSubToken(token)
-add subtokens to owner's subtoken array
Token: call {enable,disable}Token recursively for all subtokens

if a Token is disabled, all subtokens should be disabled, too.
Token: set toggle button correctly on {enable,disable}Token call
App: remove (commented) logger

call enyo.log instead of using logger
LocalStorage: add LocalStorage kind
Token: add method setInput

preparation for saving inputs
Token: add option to save input data in local storage
AddressToken: overwrite {load,save}Data