Minor code clean-up

Minor changes to make the code a cleaner base for development..

1: All include guards are moved to the top of the header files.
2: Header file X.h is included first in X.cpp. Easier to detect missing includes in X.h.
3: Throw specifications are deprecated in C++11, so I've removed throw() in NcException. The destructor and what() function still needs 'throw()' for gcc compilation.
4: Removed a couple of unnecessary using namespace declarations.
5: Made single argument constructor NcAtt(bool) explicit. To avoid unintentional implicit conversion.