Visit in-class initializers in field decls

This has the effect of adding more cursors to be traversed. For example,
the following:

```cpp
struct foo
{
  std::size_t size{ std::string{ "something" }.size() };
};
```

has a number of cursors within the initializer which were previously
labeled as just part of the fielddecl.
Always try to visit lambda params and ret type

This fixes an issue where, if a trailing return type is specified on a
lambda function, the parameters may not be visited. Example:

```cpp
[&](std::string const &str) -> std::string
{ return str; };
```

The effect this change has is to ensure params and trailing return types
get appropriately annotated.