Working Connection. Incorrect Constructor
Introduced AngularJS by converting VRF list page

Began introducing AngularJS into the NIPAP web UI by converting the
/vrf/list page. The implementation is currently a mixture between
old-style and new-Angular-style code; for example confirmation dialogs
are not yet "Angularified".

An Angular module for the entire NIPAP page was added and controllers
will be added for each page. A VRFListController was created for the
/vrf/list page.

As we're heading towards a web site which simply can't be used without a
JavaScript-enabled browser, I chose to remove things such as
href-attributes on anhors which also have click event handlers in
JavaScript and will continue down that road.

Fixes #347 and fixes #338
Merge pull request #502 from garberg/introduce_angularjs

Introduced AngularJS by converting VRF list page
Merge pull request #498 from axeldahlberg/master

Working Connection. Incorrect Constructor
Angularified the pool list page

The pool list page is now rendered with AngularJS.
Fix exception for non-existent VRF

Trying to modify a prefix in a non-existent VRF would throw an exception
instead of a nicely formatted error message as the vrf variable wasn't
set at the correct time. Fixed!

Fixes #516.
Merge branch '516-fix-nipap-cli-vrf-print'
Fix update of display_prefix on parent prefix edit

Modifying the parent prefix (assignment) of a host now updates the
display_prefix correctly. This was simply missed before - perhaps during
refactoring of trigger functions.

Part of #515.
Add test for checking calc of children

Part of #515
Fix calculation of children

Simple off by one bug..

Fixes #515.
Merge branch '515-fix-display_prefix-update'
Add test for checking correct tag inheritance

Check that tags are correctly inherited on prefix modifications.

Part of #507
Set inherited_tags on update

inherited_tags wasn't properly set on modifications to a prefix. All
children of the old prefix and children of the new prefix would be
updated but the actual modified prefix would not get its inherited_tags
set from its new parent prefix.

Fixes #507.
Merge branch '507-fix-tag-inheritance'
Bugfix in error handling code...
Hint about default action in CLI confirmation

All CLI confirmation questions default to not performing the action. To
hint this to the user, we use capital N.
Auto-prompt for recursive delete of assignment

If a user tries to delete an assignment that contains hosts without the
recursive option it will not be allowed, so we prompt the user if he
wants to do a recursive delete if the assignment contains hosts.

Since the recursive option is a bit "hidden" this greatly enhances
usability.

Fixes #520.
Merge branch '520-auto-recursive'
Update install documentation for debian

Since we now have our packages signed, let our users verify them with
our public key!

Part of #162.
Improve broken pipe handling of CLI

If the output of the NIPAP cli is being piped and the receiver of the
pipe is killed off before nipap (for example, using ^C) there won't be a
pipe anymore and Python will print an ugly "broken pipe" backtrace that
could look a bit different depending on which version of Python we are
running on but in general it confuses users. To avoid this, we register
an atexit handler which will try to close stdout before we exit and thus
suppress the message.

Fixes #464.