Use empty constructor to construct empty shared_ptr.

At least for g++-4.4. shared_ptr does not have a constructor
taking an integer and therefore compilation fails. Therefore we
resort statements to construct empty pointers, like
```
parser_(0)
```
to using the empty constructor:
```
parser_()
```

This patch closes #533