Show similar attributes (if possible) when raising AttributeError

For example:

>>> from bokeh.models import *
>>> Plot(symmetry=True)
Traceback (most recent call last):
(...)
AttributeError: unexpected attribute 'symmetry' to Plot, similar attributes are v_symmetry or h_symmetry

If no similar properties are found, then all properties will be show.
Add 'help' argument to bokeh.properties.*
Don't allow setting arbitrary attributes on HasProps
Fix bokeh after disallowing setting arbitrary properties
Merge pull request #1327 from bokeh/mattpap/help

Add 'help' to properties