config.InterfacesFile: Handle IO errors better

Trap them, report an error, and finish up cleanly.

Signed-off-by: Kyle Moffett <kyle@moffetthome.net>
Add a license summary to the --version option output

Signed-off-by: Kyle Moffett <kyle@moffetthome.net>
ifup/ifdown: Parse the configuration during startup

Also add a few extra helper functions to the SystemConfig class so that
this is easy to add to other commands in the future.

Signed-off-by: Kyle Moffett <kyle@moffetthome.net>
ifquery: Don't accept the --all option

The "ifupdown" package doesn't accept "ifquery --all" either.

Signed-off-by: Kyle Moffett <kyle@moffetthome.net>
ifquery: Add config loading and basic logic

There's still lots more logic missing, but we're making progress.

Signed-off-by: Kyle Moffett <kyle@moffetthome.net>
config: Simplify stanza introspection logic

Rather than passing "None" around everywhere, pass the SystemConfig
object itself.  This makes the logic for locating methods much simpler
and allows us to add post-parse validation of each stanza.

Signed-off-by: Kyle Moffett <kyle@moffetthome.net>
config.Mapping: Preliminary perform_mapping() implementation

This still needs testing, but it'll do for now.

Signed-off-by: Kyle Moffett <kyle@moffetthome.net>