Web.JSON: Add testcases of Web.JSON

The following testcases are appended.

-   Specs of Web.JSON.decode (numbers, strings, lists, dictionaries)
-   Specs of Web.JSON.encode (numbers, strings, lists, dictionaries)

Specs for both function in 'iconv' or 'encoding' cases are not present.
Web.JSON: encode({val}) behavior is changed

Web.JSON.encode({val}) function supports JSON special tokens (true/false/null).
If these tokens are specified, the function returns 'true', 'false', or
'null' (not '"true"', '"false"', or '"null"').
You can access to the corresponding tokens as Web.JSON.true,
Web.JSON.false, and Web.JSON.null respectively.

    let s:JSON = s:V.import('Web.JSON')
    " the following echo '[true, false, null]'
    echo s:JSON.encode([
            \ s:JSON.true,
            \ s:JSON.false,
            \ s:JSON.null,
            \])

Notice that for backward compatibility, these special tokens are converted to
1, 0, and 0 respectively in `Web.JSON.decode(val)` function like

    " the following echo '[1, 0, 0]'
    echo s:JSON.decode(s:JSON.encode([
            \ s:JSON.true,
            \ s:JSON.false,
            \ s:JSON.null,
            \]))
Web.JSON: decode({val} [, {settings}]) behavior is changed

If 'use_token' is specified in a option of decode function, the function
will translate javascript codes into corresponding special tokens

    let T = s:JSON.decode('true')                    " equal to 1
    let F = s:JSON.decode('false')                   " equal to 0
    let N = s:JSON.decode('null')                    " equal to 0

    let T = s:JSON.decode('true', {'use_token': 1})  " equal to s:JSON.true
    let F = s:JSON.decode('false', {'use_token': 1}) " equal to s:JSON.false
    let N = s:JSON.decode('null', {'use_token': 1})  " equal to s:JSON.null
Web.JSON: Add documents and update Changes
Web.JSON: Remove original lockvar

I remove lockvar code from the Web.JSON because the code cause the
following exception

    Error detected while processing function ry)..<SNR>256_get_json..<SNR>257_import..<SNR>257__import..<SNR>257__build_module:
    line   27:
    E741: Value is locked: filter() argument

true/false/null tokens should be locked but this kind of strategy will
be prepared on Vital.vim thus I just remove the code.
Merge pull request #173 from lambdalisue/support_json_tokens

Web.JSON: Add JSON special tokens (true/false/null) support in encode({object}) function.
Text.Lexer: Fix for vimlint
Vim.Search: Fix for vimlint
Data.LazyList: Fix for vimlint
Data.String: Fix for vimlint
Data.String: Fix for vimlint
Web.JSON: Fix for vimlint
Web.XML: Fix for vimlint
Prelude: Fix for vimlint
Process: Fix for vimlint
OptionParser: Fix for vimlint
Web.URI: Fix for vimlint
DateTime: Fix for vimlint
Data.String: Fix for vimlint
Vim.BufferManager: Fix for vimlint