make partnerslookup screen #928
Remove bb model from project, replaced it with custom queue for knockvm

So there is no model/meta module anymore, it's replaced with:

sync/datamap which contains functions to translate to and from server
             representation of data types

sync/crud    which work like queue of changed values, that can be stored
             using crud layer, it also handle errors somehow and not
             loosing data in case of it

Also I have to upgrade knockout 2.0.0 -> 2.2.0, because newer version
can handle loops when computed observable defines new observables in it's
read function, so now outermost is not recomputed untill all inner ones
will not finish.
few little fixes
Merge branch 'master' into i912-bb-gtfo

Conflicts:
	srv/resources/static/coffee/hooks/common.coffee
	srv/resources/static/coffee/model/meta.coffee
	srv/snaplets/heist/resources/templates/index.tpl
fix fieldNot computed
fix notFields and empty-fields list
fix filex kb hook, broken during merge
damn cycles, fix files hook again
fix bug with blank partner.city when pushing him to datatable #944
Added comments table in accounting for printing. #907
Merge from master
fix supervisorOps #952
add serviceid to partnercancel #879
add partnerCancels to printService handler
Split dictionary-data.sql #804
DB name as argument in db management script
Add Role dictionary to PG #804
Add field permissions dictionary #804

    echo models = > permissions.coffee
    jq -s '[.[] | {name, applications, fields}]' \
      resources/site-config/models/*.js \
      >> permissions.coffee

    sed -i 's/null/\[\]/' permissions.coffee
    sed -i 's/": *true/": \["all"\]/' permissions.coffee

    cat << EOF >> permissions.coffee
    ;
    permission = {}

    set = (obj, path, val) ->
      key = path[0]
      if path.length == 1
        obj[key] = val
      else
        obj[key] ||= {}
        set obj[key], path.splice(1), val

    addPermissions = (model, field, pm) ->
      if pm.canRead
        for role in pm.canRead
          set permission, [role, model, field, 'r'], true
      if pm.canWrite
        for role in pm.canWrite
          set permission, [role, model, field, 'w'], true

    for model in models
      for field in model.fields
        continue if field.groupName
        addPermissions model.name, field.name, field
      for app in model.applications
        for field in app.targets
          addPermissions model.name, field, app

    for roleName, role of permission
      for modelName, model of role
        for fieldName, field of model
          console.log(
            'insert into "FieldPermission" (role, model, field, r, w) values ' +
            "('#{roleName}', '#{modelName}', '#{fieldName}', " +
            (if field.r then 'true' else 'false') + ", " +
            (if field.w then 'true' else 'false') + ");")
    EOF

    coffee -cb permissions.coffee
    node permissions.js
fix manual_save option for model #953
fix disthook