ktweb: fix proposal parsing

Collect proposal text only if proposal mark has been found.
ktweb: new function to parse just the origin id of a meetingdoc
ktweb: do not meeting document if it's already in the db
ktweb: update agenda item geometries by deleting and inserting them
Use sqlalchemy.orm.session.Session.add instead of .merge

merge() should be used when importing state from an object outside the
session. Here we are not doing that, but simply modifying an object or
inserting a new one.
deployment/jkl: do not init db if it already exists
deployment/jkl: fix refresh script
deployment/jkl: remove useless helpers
deployment/jkl: add requirements
deployment/jkl: fix stop script
deployment/jkl: remove ugly .sh extensions from helper scripts
Update deployment docs
deployment/jkl: add bootstrap script