generator: factor out dependency extraction from inclusion manager
generator: forward declare pointer attributes

- if an attribute is of type shared pointer of X, forward declare X
- add scenario of properties of both shared pointer of X and raw X to
  boost model