Handle multiline attributes in TagNode#dynamic_attributes_source

Fixes #49

Change-Id: I5d4946b404195653e8c10c42abba4aac1dfb5af3
Reviewed-on: http://gerrit.causes.com/45299
Tested-by: jenkins <jenkins@brigade.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Update style of TagNode tests

Change them to use one-line `it` blocks where possible.

Change-Id: I1f3eca26c571369426c8e79745209e3dc96572e0
Reviewed-on: http://gerrit.causes.com/45300
Tested-by: jenkins <jenkins@brigade.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Improve implementation of source_from_first_line

The name of this method was a bit misleading and its implementation
would return all the source code of the document starting from the line
the node resided on.

To improve the situation, change the implementation to return only the
source of the node itself and add tests to ensure correct behavior.

Change-Id: I2372ac4c5333c5fa84c72100f5a2bf66f85d7182
Reviewed-on: http://gerrit.causes.com/45301
Tested-by: jenkins <jenkins@brigade.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>