Fix bug when update timestamps on filtered agenda entries

* org-compat.el (org-in-invisibility-spec-p): Tiny code
cleanup.
(org-move-to-column): Only remove '(org-filtered) from
`buffer-invisibility-spec'.

* org-agenda.el (org-agenda-mode): Add buffer invisibility
specs.
(org-agenda-filter-hide-line, org-agenda-remove-filter): Set
the 'invisible text property to 'org-filtered.
(org-agenda-show-new-time): Add the default face to avoid the
foreground of the last character on the line to leak into the
timestamp notification.

Thanks to Thomas Morgan for reporting this.
Merge branch 'maint'
org-agenda.el: Fix bug wrt `org-agenda-persistent-filter'

* org-agenda.el (org-agenda-prepare-window): New parameter
`filter-alist' to set the filters correctly when
`org-agenda-persistent-filter' is on.
(org-agenda-prepare): Use the new parameter for
`org-agenda-prepare-window'.

Thanks to Thomas Morgan for reporting this.
Merge branch 'maint'

Conflicts:
	lisp/org-agenda.el
Fix typo in previous commit
org.el (org-link-escape): Don't escape characters in internal links

* org.el (org-link-escape): Don't escape characters in
internal links.

Thanks to Alan Schmitt for raising this issue.
Simplify comments matching functions

* org.el (org-fontify-entities): Use `org-at-comment-p'.
(org-in-commented-line): Delete.
(org-in-indented-comment-line): Delete.
(org-at-comment-p): Also match indented comments and save
match data.

* org-footnote.el (org-footnote-in-valid-context-p): Use
`org-at-comment-p'.
Fix regression: allow to open a link in a comment or a property line

* org.el (org-open-link-in-comment-or-property): New function.
(org-open-at-point): Use it.

See http://thread.gmane.org/gmane.emacs.orgmode/84300/focus=84300 for
the follow-up of a discussion on whether links should be supported in
comments and properties.
Tiny refactoring

* lisp/org.el (org-at-property-p): Tiny refactoring.  Improve docstring.
Small fix

* lisp/org.el (org-open-at-point): Use parser instead of
  `org-at-comment-p' and `org-at-property-p', which are not accurate.
org-clock.el (org-clock-display): Allow non-interactive use by making arg optional

* org-clock.el (org-clock-display): Allow non-interactive use
by making arg optional.

Thanks to Noah Slater for pointing this.
Add R functions to enclose variable transfer

* lisp/ob-R.el : Add variables
  'org-babel-R-begin-variable-transfer-commands' and
  'org-babel-R-begin-variable-transfer-commands' which contain R
  functions to run before and after variable transfer related
  commands. Used for e.g. ading headers to use outshine folding of
  code.
Execution of variable transfer code optional

* lisp/ob-R.el (org-babel-expand-body:R): Variable transfer code
  only evaluated when actually variables are defined for transfer.
org-agenda.el (org-agenda-limit-interactively): Enhance

* org-agenda.el (org-agenda-finalize-entries): Remove spurious
variable in the (let ...) construct.
(org-agenda-limit-interactively): Allow to remove the
limitation by passing a universal prefix argument.  Enhance
the prompt.
org.el (org-open-link-in-comment-or-property): Refactor into `org-open-at-point'

* org.el (org-open-link-in-comment-or-property): Delete.
(org-open-at-point): Handle links in comments and property
drawers.  Update docstring.
Small refactoring and fix a bug in `org-timer-set-timer'

* org.el (org-refresh-property): New function.
(org-refresh-properties, org-set-effort)
(org-property-next-allowed-value): Use it.

* org-timer.el (org-timer-set-timer): Get the correct number
of minutes from text properties, both in an `org-mode' and
`org-agenda-mode' buffer.
org-agenda.el: Implement new effort filter

* org-agenda.el (org-agenda-custom-commands-local-options):
Add `org-agenda-effort-filter-preset'.
(org-agenda-filter-effort-default-operator): Delete.
(org-agenda-local-vars): Add `org-agenda-effort-filter'.
(org-agenda-mode-map): Use "_" to filter by effort.
(org-agenda-effort-filter, org-agenda-effort-filter-preset):
New variables.
(org-agenda-prepare-window, org-agenda-prepare)
(org-agenda-finalize, org-agenda-redo)
(org-agenda-filter-remove-all, org-agenda-filter-apply)
(org-agenda-set-mode-name, org-agenda-reapply-filters): Handle
effort filter.
(org-agenda-finalize-entries): Use
`org-sort-agenda-noeffort-is-high'.
(org-agenda-limit-entries): Get the property from the correct
location.
(org-agenda-limit-interactively): Throw a user error on wrong
input.
(org-agenda-filter-by-effort): New command.
(org-agenda-filter-by-tag): Don't filter by effort.
(org-agenda-filter-make-matcher): Handle effort filter.
(org-agenda-compare-effort): Don't handle the "?" operator.
(org-agenda-filter-show-all-effort): New command.

Note: This calls for some refactoring in the filter area.
org, ox: move defsubst before first use

* lisp/ox.el (org-export-get-parent): Move definition of
  'org-export-get-parent' before first use.  Leave comment at original
  place of definition.

* lisp/org.el (org-uniquify): Move definition of 'org-uniquify' before
  first use.  Leave comment at original place of definition.
org-entities: forward declaration of org-toggle-pretty-entities and org-pretty-entities

* lisp/org-entities.el: Remove superfluous require of org-macs.
  Forward declare 'org-toggle-pretty-entities' and
  'org-pretty-entities'.
ob-C: lexical-let requires cl at compilation time

* lisp/ob-C.el: Require cl during compilation so that lexical-let is
  known.