@augments tag: Inherited members correctly identify their origin

'inherits' tag is only written if it is empty. Before this change all members inherited from the direct parent, even if it actually came from a grandparent.

For example:

```javascript

/**
 * @constructor
 */
function Vehicle (){
    /** The amount of wheels */
    this.Wheels = 4;
}

/**
 * @constructor
 * @augments Vehicle
 */
function CommercialVehicle (){
    /** Useful load */
    this.Payload = 1000;
}

/**
 * @constructor
 * @augments CommercialVehicle
 */
function Bus(){
    /** Amount of passengers (excluding driver) */
    this.Passengers = 60;
}
```

Now correctly indicates that the 'Wheels' property was defined in 'Vehicle', and not in 'CommercialVehicle'.

The change is covered by unit testing.