Increased timeout of crouton autodismiss. Added error messaging for failed catalog save

Signed-off-by: Laurence Maultsby <laurence.maultsby@riftio.com>
diff --git a/skyquake/framework/widgets/header/header.jsx b/skyquake/framework/widgets/header/header.jsx
index 21f4c10..3cfaaf6 100644
--- a/skyquake/framework/widgets/header/header.jsx
+++ b/skyquake/framework/widgets/header/header.jsx
@@ -1,5 +1,5 @@
 /*
- * 
+ *
  *   Copyright 2016 RIFT.IO Inc
  *
  *   Licensed under the Apache License, Version 2.0 (the "License");
@@ -55,6 +55,7 @@
                 type={"error"}
                 hidden={!(this.state.validateErrorEvent && this.state.validateErrorMsg)}
                 onDismiss={HeaderStore.validateReset}
+                timeout= {5000}
             />
 
         // html = (
diff --git a/skyquake/framework/widgets/skyquake_container/skyquakeContainer.jsx b/skyquake/framework/widgets/skyquake_container/skyquakeContainer.jsx
index d53d85f..d83c836 100644
--- a/skyquake/framework/widgets/skyquake_container/skyquakeContainer.jsx
+++ b/skyquake/framework/widgets/skyquake_container/skyquakeContainer.jsx
@@ -106,6 +106,7 @@
                             type={notificationType}
                             hidden={!(displayNotification && notificationMessage)}
                             onDismiss={SkyquakeContainerActions.hideNotification}
+                            timeout= {5000}
                         />
                         <ScreenLoader show={displayScreenLoader}/>
                         <SkyquakeNav nav={this.state.nav}
diff --git a/skyquake/plugins/composer/src/src/stores/CatalogDataStore.js b/skyquake/plugins/composer/src/src/stores/CatalogDataStore.js
index 9345bc3..3e4ac7f 100644
--- a/skyquake/plugins/composer/src/src/stores/CatalogDataStore.js
+++ b/skyquake/plugins/composer/src/src/stores/CatalogDataStore.js
@@ -1,6 +1,6 @@
 
 /*
- * 
+ *
  *   Copyright 2016 RIFT.IO Inc
  *
  *   Licensed under the Apache License, Version 2.0 (the "License");
@@ -591,6 +591,13 @@
 			this.resetSelectionState();
 		}
 	}
+	saveCatalogItemError(data){
+		let error = JSON.parse(data.error.responseText);
+		const errorMsg = error && error.body && error.body['rpc-reply'] && JSON.stringify(error.body['rpc-reply']['rpc-error'], null, ' ')
+		ComposerAppActions.showError.defer({
+			errorMessage: 'Unable to save the descriptor.\n' + errorMsg
+		});
+	}
 }
 
 export default alt.createStore(CatalogDataStore, 'CatalogDataStore');