pastebuf: special handler for pastie

- escape dots in url patterns. forgot that dot is special in lua pattern
- fixed pattern for fpaste.org to support hidden paste
pastebuf: correctly handle closing gist buffers

- remove the parent marker when all its gist buffers have been closed
- added `none` as allowed choice for `lang`. it will disable the
  syntax highlighting of current buffer.
- disable tab replacement when indent_width is 0
- more readme++
pastebuf: forgot to commit these changes

- all hook_process* calls are now handled by `exec_generic()`. you can
  pass some callbacks (real lua callback, not just the function name)
  to it.
- fixed the CSI SGR parsing (again). incorrect declaration of local
  variable caused the parser to not recognize the third number for 256
  colors attribute.
- added `localvar()` for retrieving/setting/removing a buffer's local
  variable.
- langs have alias now.
- lang localvar will be unset now when user set the lang for current
  buffer to none.
- initial code for different mode support. currently it's just normal
  mode.
- action can be called via /pastebuf command by prefixing it with two
  asterisks
- home/end key will reset the horizontal scrolling position to 0
- support sticky notes (retarded) API
- better url handler for pastie
- moved all process callbacks into local function inside the function
  that initialize the process
- prevent user from modifying our buffers' properties.