Fixes for Intel 12.1

Not sure why Intel was calling global destructors twice or why it
doesn't think "begin() == end()" is a synonym for empty(), but these
two workarounds prevent segfaults at program exit with that compiler
on Sysnet.
Merge pull request #18 from manufactured-solutions/intel_workaround

Fixes for Intel 12.1