Squashed commit of the following:

commit 15f71cdf4e559ec5e8fc366df0bd799b309444a2
Author: affinehat <krs@umd.edu>
Date:   Mon Jun 16 14:41:50 2014 -0400

    Fix another typo

commit 6ad95a0a0c16b9ee90ceaf5166195e8c2b1e5dce
Author: affinehat <krs@umd.edu>
Date:   Mon Jun 16 14:40:03 2014 -0400

    Fix typo

commit 3af5f77a763e4fd1bf48e187a226ea6d91b80bff
Author: affinehat <krs@umd.edu>
Date:   Mon Jun 16 14:38:50 2014 -0400

    Fix bug: clicks triggering on node drag

    Click events are now suppressed when nodes are dragged

commit 43817291abee8c7a9a7194900faf25f0bb40f68e
Author: affinehat <krs@umd.edu>
Date:   Mon Jun 16 12:04:18 2014 -0400

    Fixed logic; topologies are now linked to child nodes

commit 0d7050b5b5f8b57f993aedba4fa7e9fab6e45b05
Author: affinehat <krs@umd.edu>
Date:   Mon Jun 16 11:42:29 2014 -0400

    Add support for hidden links + fix link display bug

    Fixed bug where links do not show when not declared as alias on both
    end nodes

commit 8dc935b556191389f853af74708b08bbec2510ac
Author: affinehat <krs@umd.edu>
Date:   Mon Jun 16 11:09:38 2014 -0400

    Add missing hypervisor service type + icon

commit 88891ff9305994209e6be0ccca6ebf4599346caf
Author: affinehat <krs@umd.edu>
Date:   Mon Jun 16 11:06:41 2014 -0400

    Add feature to toggle visibility of topology nodes

    Clicking a topology node toggles visibility of all child nodes

    Fixed bug preventing nodes with no top level NML or MRS elements from
    being displayed
Multiple small refactors and improvements squashed together

Squashed commit of the following:

commit 40bd5683b067719441e54004c7c7f1198e5fd000
Author: affinehat <krs@umd.edu>
Date:   Tue Jun 17 12:35:58 2014 -0400

    Update dynamic force graph values

    Fine tuned formulas for generating charge, gravity, and link distance.

    Refactored base force graph values into defined constants to make
    changing them easier.

    Added two missing semicolons.

commit 782736649882b748c5c7a05099fb448be47200c2
Author: affinehat <krs@umd.edu>
Date:   Tue Jun 17 12:02:52 2014 -0400

    Replace indexOf() checks with explicit string equals

    Remove unused evt variable

    Replace indexOf() comparisons with ===

    Allow user to choose graph to display instead of hardcoding one

commit 8a7ead068b03766cd46163a04ff79621eb6c4662
Author: affinehat <krs@umd.edu>
Date:   Tue Jun 17 10:05:22 2014 -0400

    Refactor display variable logic

    Convert logic for setting display variable into self-executing
    anonymous function which is much cleaner

commit b179727ff2ad6ce1647f6f632da718ea9226eacb
Author: affinehat <krs@umd.edu>
Date:   Tue Jun 17 09:44:21 2014 -0400

    Remove all unused code and add comments

    All old commented code has been removed

    BASE_VALUE renamed BASE_SLIDER_VALUE for clarity

    Some top level comments added describing variables
Refactor to use Revealing Module Pattern

Code completely refactored to conform to revealing module pattern:
-All variables and functions declared under adminView namespace to
avoid polluting global.
-New css and settings objects contain all configurable values for
centralized configuration.
-main() function handles actual execution of code by calling
appropriate private functions.
-adminView returns a public interface.

Misc. Changes:
-All references to generic 'sliderValue', 'slider', etc., renamed to
more specific 'zoomValue', 'zoomSlider', etc.
-Added comments explaining purpose of baseZoomValue.
-Normalized quotation marks to use only " in HTML and only ' in
javascript.

Clean up comments

Normalize comment capitalization -- all inline comments start lowercase
and all other comments start uppercase.

Add comment headers to divide code into sections.
Add and update comments throughout code to explain any not obvious code.

Remove unnecessary comments and debug prints.
Refactor Icon Path Code

Create new nodeTypes object to make adding/removing node types easier.

Create new getIconPath() function to clean up code and automate icon
path finding code based on types declared in nodeTypes object.

Add icon and text properties to settings object

Icon width and height and node text x and y offsets are changed to be
controlled by properties in settings object.
More modularization and cleanup refactoring

Turn typeNames and iconNames arrays into hashes which simplifies some
parts of the code.

Add new properties hash and hasProperty() function to simplify property
checking

Add mergeProperties(), hasType(), shouldBeDisplayed(), and isTopology()
helper methods.
Merge pull request #3 from AffineHat/master

Topology Grouping + Complete Refactoring