added MenuGen nuget package and swapped out the old sidebar link code,
added Ensure class for ensuring arguments are not null/empty