whitspace fixes
allows joining multiple tables of awesome_nested_set structured models while using nested_set methods

When joining issues and projects both tables come with their set of nested_set attributes. The attributes are named equally in both tables. This leads to ambiguous references when calling e.g. Issue.find(1).visible.descendants.

This fix scopes the nested_set to reference the left attribute fully qualified.

Adds additional methods that can be applied should the need arise.

We should reevaluate why nested set is vendored as the problem would not have arisen when using the gem.
eager loads models associated with the issues ancestors and descendants

Additionally it fixes the bug that all issues of the tree would be displayed even when the user didn't have the right to view them. This would be the case when the user has rights in Project A but non in Project B. Viewing an issue in Project A having ancestors/descendants in Project B would show those erroneously.

Saves about 1.5 seconds when having 100 ancestors/desendants.
eager loads objects associated to the issue's relations
eager loads objects associated to issue
uses already loaded relations
eager load objects associated with the changeset
eager loads assigned to on ancestors/descendants
no longer sorts by lft as it already is