text: Title: Improve error message in Placeholder
  Body: `Placeholder` raises an issue if the template has undefined parameters. We use jinja under the hood and we can leverage jinja's error to make the error message clearer:
  
  https://github.com/ploomber/ploomber/blob/2e0d764c8f914ba21480b275c545ea50ff800513/src/ploomber/placeholders
  /placeholder.py#L221
  
  Example:
  
  ```python
  from ploomber.placeholders.placeholder import Placeholder
  
  # breaks because the variable (an int with value 1) does not have an attribute "some_attribute"
  Placeholder('SELECT * FROM {{variable.some_attribute}}').render(dict(variable=1))
  ```
  
  However, the current implementation does not show the original error message (right after `jinja2 raised an UndefinedError`), so we need to modify it.
  
  
  add tests here: https://github.com/ploomber/ploomber/blob/master/tests/placeholders/test_placeholder.py
  
  the tests should check that an exception is raised and the error message, [see this for an example](https://docs.pytest.org/en/6.2.x/assert.html#assertions-about-expected-exceptions)
  