Make libdex structures tool friendly.

Previously, the struct name and its typedef name were identical.  This
confuses emacs and etags.  This change eliminates the typedef names and
removes the extern "C" wrapping the libdex header files.  To support
this change the transitive C dependencies have been made to compile as
C++ instead.

Change-Id: I7065f32d61d776f9b09c7b461adf2502268d852f
diff --git a/libdex/sha1.h b/libdex/sha1.h
index 0cef623..0d8f691 100644
--- a/libdex/sha1.h
+++ b/libdex/sha1.h
@@ -4,15 +4,11 @@
 #ifndef _DALVIK_SHA1
 #define _DALVIK_SHA1
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
+struct SHA1_CTX {
     unsigned long state[5];
     unsigned long count[2];
     unsigned char buffer[64];
-} SHA1_CTX;
+};
 
 #define HASHSIZE 20
 
@@ -21,8 +17,4 @@
     unsigned long len);
 void SHA1Final(unsigned char digest[HASHSIZE], SHA1_CTX* context);
 
-#ifdef __cplusplus
-}
-#endif
-
 #endif /*_DALVIK_SHA1*/