text: Title: Support `[Setup]` with user keywords
  Body: As per the discussion in #4745, this is a separate issue to add a `[Setup]` setting to user keywords.
  
  The reason for wanting it in our usecase is to indicate a semantic differance between regular steps in a keyword and the Setup/Teardown. This differance is used by our system to define if a fail is a Setup failure (to be handled by the Test Framework team) and a DUT failure (to be handled by the test team).
  
  Specifically this helps us when using Templates in a test case, as the template keyword could then have a Setup and Teardown that's excecuted once per run of the template instead of once for the whole testcase.